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

Re: book

jeremy@alum.mit.edu [mailto:jeremy@alum.mit.edu] wrote:
> I got the impression, perhaps from comments that Olin made during q&a,
> that there is a lot of practical knowledge in the Lisp community about
> these issues.  Are there books or papers that address the sorts of
> issues that Simon listed?  (I intend to look at the books Jonathan
> mentioned.)  Where's a good place to start?

Jonathan Bachrach mentioned Christian Queinnec's _Lisp in Small
Pieces_. I'll second that: LiSP is amazing; it's really the book 
that got me to understand how compilers work. 

However, one of the lessons I took from the workshop is that we 
may not know the right way to implement dynamic languages anymore, 
with the possible exception of Dan Simmons. :) Most of the bytecode
based language implementations I've seen are all about a 
decade old -- Caml, PLT Scheme, Python -- and in the last
10 years we've seen the average PC go from a 33 MHz 486 with 4 megs
of RAM to a 1.5 GHz Athlon with 512 megs of RAM. 

That's around a hundredfold increase in both processor and
memory resources. Jonathan's Proto talk suggested that dynamic
compilation via gcc/dlopen may be the Right Thing for volunteer 
efforts(!), both in terms of speed and ease of implementation. 
Moreover, I am given to understand that gcc 3.0 has support for 
marking cross-function tail calls, which makes it even more 
attractive as a target. 

I am now seriously considering using this approach for my own 
little language. I may yet decide against it, but it's not an
easy or obvious decision, much to my surprise.

Neel Krishnaswami