[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: New Lisp ?



Andreas Bogk wrote:

>>What happens in Java is that you have to at least declare the exceptions
>>up the chain anyway (the compiler will reject a method that doesn't
> 
> Yes, and that bothers me to no end.  I want to have specific code that
> knows about an exception in exactly two places: where it is generated,
> and where it can be handled.  All the code inbetween doesn't need to
> know more than that an operation has failed and that it needs to clean
> up.

[This is also a reply to Bruce's earlier comments.]

You will find views on both sides, not unlike the issue of static 
typing.  It is not always the case that code that isn't written to be 
thrown through is safe; it may not clean up. Making sure that each 
method has the appropriate declarations is a way to catch these things 
at compile time.  (Some methodological discipline is required to get any 
benefit out of this, of course, but when isn't it?)

>>I think what you'd see in any kind of production
>>environment if Dylan were used is that almost everything would get
>>sealed off, much the way a lot of Java code makes extensive use of
>>"final."  At that point, you might as well just use a static block
>>compiler and let the compiler recognize what is subclassed and what
>>isn't.
> 
> I'd hate to use a static block compiler, the turnaround time would be
> a nightmare.  


You don't generally use a static block compiler when code is in active 
development. For example, I develop in DrScheme and then block compile 
with Stalin for performance tuning and production use.

 > And I'd like to keep the option of adding classes and gf
 > methods at runtime.

Then you can't use sealing (much).