[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: