Douglas Alan <[EMAIL PROTECTED]> writes: > > I'd say Haskell and ML are descended from Lisp, just like mammals are > > descended from fish. > > Hardly -- they all want to share the elegance of lambda calculus, > n'est-ce pas? Also, ML was originally implemented in Lisp, and IIRC > correctly, at least in early versions, shared much of Lisp's syntax.
Haskell and ML are both evaluate typed lambda calculus unlike Lisp which is based on untyped lambda calculus. Certainly the most familiar features of Lisp (dynamic typing, S-expression syntax, programs as data (Lisp's macro system results from this)) are absent from Haskell and ML. Haskell's type system lets it do stuff that Lisp can't approach. I'm reserving judgement about whether Haskell is really practical for application development, but it can do stuff that no traditional Lisp can (e.g. its concurrency and parallelism stuff, with correctness enforced by the type system). It makes it pretty clear that Lisp has become Blub. ML's original implementation language is completely irrelevant; after all Python is still implemented in C. > Also, Scheme has a purely functional core (few people stick to it, of > course), and there are purely functional dialects of Lisp. Scheme has never been purely functional. It has had mutation since the beginning. Hedgehog Lisp (purely functional, doesn't have setq etc.) is really cute. I almost used it in an embedded project but that got cancelled too early. It seems to me more like a poor man's Erlang though, than anything resemblant to ML. -- http://mail.python.org/mailman/listinfo/python-list