Static typing

Pascal Costanza costanza at web.de
Mon Oct 27 14:26:27 EST 2003


John Atwood wrote:

> Pascal Costanza  <costanza at web.de> wrote:
> 
>>John Atwood wrote:
>>
>>>Pascal Costanza  <costanza at web.de> wrote:
>>>
>>>>No, you definitely can do a lot of things with macros in Lisp that are 
>>>>impossible to do in other languages. There are papers that show this 
>>>>convincingly. Try 
>>>>ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-453.pdf for a 
>>>>start. Then continue, for example, with some articles on Paul Graham's 
>>>>website, or download and read his book "On Lisp".
>>>
>>>That's a great paper; however, see Steele's later work:
>>>	http://citeseer.nj.nec.com/steele94building.html
>>
>>Yes, I have read that paper. If you want to work with monads, you 
>>probably want a static type system.
>>
>>(And I think he still likes Scheme and Lisp. ;)
> 
> Perhaps, but the paper shows convincingly that statically typed languages 
> can do a lot of things that Lispers use macros for.

Right. I have no problems with that. Monads are pretty interesting, and 
monads and static typing go very well together.

> Work in 
> meta-programming, aka mult-stage programming, shows how to more finely 
> control the power of macros, reflection, etc. See, e.g.:
> 	http://citeseer.nj.nec.com/sheard00accomplishments.html
> 	http://citeseer.nj.nec.com/taha99multistage.html

Wait: Meta-programming and multi-stage programming is not the same 
thing. The latter is only a subset of the former.

The metaprogramming facility that doesn't let you call the meta program 
  from the base program and vice versa in the same environment, o 
grasshopper, is not the true metaprogramming facility.

Pascal





More information about the Python-list mailing list