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

Re: Y Store now C++



Sundar Narasimhan wrote:

> what I meant
>to say was more like: I have no problem w/ new languages, it's just
>that I think people could also work fruitfully extending/fixing
>existing ones 
>
(In fact, there is a lot of work going on into fixing/improving Java. 
 Some areas of interest
now are: adding a real and good "enumeration" feature; making it more 
suitable for high-performance
numerical computation; fixing flaws in the memory model involving the 
rules for
multiple threads accessing the same data (I think the name of the guy 
responsible
for the really good work here is William Pugh); and adding parameterized 
types.
It's happening slowly, partly because of compatibility considerations 
and partly
because the designers are taking extreme care about precise semantics. 
 I and
some of my friends speculate that the pace of language innovation may be
speeding up due to competition with C#.)

>So what are the hacks that constrain you in Common Lisp -- that you
>couldn't fix within the language? 
>
Having separate "value cells" and "function cells" (to use the "street 
language" way
of saying it) was one of the most unfortuanate issues. We did not want 
to break
pre-existing programs that had a global variable named "foo" and a 
global function
named "foo" that were distinct.  We at Symbolics were forced to insist 
on this, in
the face of everyone's knowing that it was not what we would have done 
absent
compatibility constraints. It's hard for me to remember all the specific 
things like this,
but if we had had fewer compatibility issues, I think it would have come 
out looking
more like Scheme in general.