Python's "only one way to do it" philosophy isn't good?

Paul Rubin http
Sat Jun 30 14:35:59 EDT 2007


Douglas Alan <doug at alum.mit.edu> 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.



More information about the Python-list mailing list