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