[E-Lang] To Be Or Not To Be

Ralph Hartley hartley@aic.nrl.navy.mil
Tue, 06 Mar 2001 11:37:32 -0500


--------------060700060506050908060909
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Mark S. Miller wrote:

> At 10:40 AM Monday 3/5/01, Ralph Hartley wrote:
> 
>> Achhh! I **hate** forward declarations!
> 
> 
> Well Ralph, I've got good news and bad news for you, and they're the 
> same news.  [;)]
> 
> Stimulated by Ralph's message, and starting from Dean's suggested 
> syntax for forward references, MarcS & I now have a proposal we're 
> sufficiently happy with to float.  It's also easy to implement, while 
> only requiring scope analysis we can postpone for now (see #4 below).  
> Best of all, it allows MarcS to present mutually recursive examples 
> well before he introduces promises.
> 
> 
> 1) The forward declaration, introducing a name into scope:
> 
>     "def" <name>


Because I (and others) hate forward declarations, you are going to allow 
forward declarations? Could you tell me the good news now?

While making them easier is good. Making them un-necessary would be better.

Maybe you should think of this in the context of ALL the ways names need 
to be brought into scope. Names need to be available not only from later 
in the same block, but also from other files in the same package, and 
from other packages.

How would you handle mutually dependent functions foo and bar if they 
were each defined in a different file? I know that this is something 
that hasn't really been defined yet, but it needs to be.

Ralph Hartley



--------------060700060506050908060909--