Why don't people like lisp?
prunesquallor at comcast.net
prunesquallor at comcast.net
Fri Oct 24 19:33:54 EDT 2003
ddarius at hotpop.com (Darius) writes:
>
> Changing the spec, eh? Now I have to add state to a pure language as
> well as non-determinism. So, some preliminaries; luckily I have them
> lying around, along with Hinze's backtracking monad. Knew they'd come
> in handy some time and now they're handy two times.
Sniff sniff....
Wait a second. This isn't Python!
> Personally, I had the impression that you were advocating that macros
> let you easily extend Lisp without effectively writing a good chunk of
> compiler*, yet Screamer does this.
Actually, I am advocating that macros supply a broad range of
advantages from tweaking some local syntax to rewriting a good chunk
of the compiler.
> So I don't find Screamer a particularly good example, especially
> coupled with the fact that it isn't a complete or seamless
> integration.
It isn't perfect by a long shot, but I like the example because it is
in use rather than something academic.
> So ranking them: Scheme's got us both beat hands-down. call/cc
> let's you define (some of) the primitives in less than a page and
> the result is utterly seamless (with perhaps a few simple
> syntax-rules to thunkify things).
Seeing as I work for the PLT Scheme project, how could I object?
> I put Haskell second for this one. The implementation is pretty
> simple, the interface is pretty clean and it's more or less normal
> monadic Haskell programming.
I'm not too familiar with Haskell, but laziness is interesting.
> CL/Screamer is third. It probably wins for speed (it'd better!),
> but that isn't too surprising since it's basically a compiler for a
> non-deterministic lisp**.
Probably. It is a good compromise.
> If I'm not mistaken Screamer implements local by searching the form
> for setf's and replacing them with it's own version, which makes me
> wonder what it does if the setf's aren't obvious (e.g. a compiled
> closure), I severely doubt it delivers on it's seeming promise of
> interopability (no doubt disclaimed in the documentation unless I'm
> mistaken), considering it works be redefining defun, among others,
> and translation to CPS and via a codewalker. Basically, I don't see
> writing the equivalent using Template Haskell for Haskell, or
> whatever for Python, or as an external tool being significantly more
> complicated than Screamer. No word from the Pythonistas.
Well, I wouldn't `call out' a Python implementation that had the same
restrictions.
More information about the Python-list
mailing list