[Prev][Next][Index][Thread]
Re: Some Dylan improvements
> From: Eric Gouriou <eric_gouriou@cup.hp.com>
>
> Proposed changes (more comments below):
> A) specify a naming convention for libraries
Sounds good, although this should probably be optional.
I propose hyphens rather than dots. :-)
> B) add a way to specify a module interface beyond mere names
This introduces the C++ "Keep 2 files in synch for every one object" problem
to Dylan. I'm not in favour of this. I agree that it's good for
documentation, but I'd rather a documentation generator was used than the
listing of the interface file.
> C) add #nil to the language
In a language that is meant to be abstracted from the hardware a little,
this wouldn't be good.
Also, in Java, null causes so many problems! It drills through code and
crashes your programs horribly, usually 5 or 6 calls on when the next
programmer doesn't know it's being used as a flag value...
I do find the need for a way of flagging that a slot (or variable) has been
set to an invalid state. There are two solutions I can see to this:
The false-or hack.
Declare a constant of each type as $invalid-of-type and check for this.
> D) move .lid files to an XML format
XML is good for some things, but is a much less compact and expressive
format than the existing .lid format.
> E) add <C-int32> <C-uint32>, etc. to the C-FFI
Yes, this is good.
> G) standardize a way to do conditional compilation (based on F?)
Whilst I miss being able to conditionally compile in Java (for assertions
and debugging code), the #if's scattered throughout Mindy and d2c show
missed opportunities for factoring code out into platform-specific
libraries. Macros and file swapping can handle debug code.
- Rob.
References: