News for hackers. Stuff that matters.
Re:A difference between Haskell and Common Lisp by agentultra on Monday December 21, 2015 @10:46AM (#10771583)
There you go. Lisps tend to implement the untyped lambda calculus. Not too surprising or interesting...
Re:A difference between Haskell and Common Lisp by catnaroek on Monday December 21, 2015 @10:47AM (#10771592)
Lisp is far from any lambda calculus, even the untyped one. Lambda calculi don't have variadic functions, or any means to inspect their own syntax. Lambda abstraction is called abstraction for a reason - you can't inspect the expression inside. Lisp is really its very own kind of thing, which can be both very interesting (if you care about extensibility) and very irritating (if you care about abstraction). Racket, a dialect of Scheme, is the only serious attempt so far at providing an extensible language that protects user-defined abstractions.
Re:A difference between Haskell and Common Lisp by agentultra on Monday December 21, 2015 @11:18AM (#10771749)
Yeah... I tried to be soft in use of tend to, in that it's not exactly Lambda Calculus. You're entirely right.
Re:A difference between Haskell and Common Lisp by lisper on Monday December 21, 2015 @11:43AM (#10771930)
If you're interested in exploring the relationship of Lisp and the lambda calculus you might find this interesting:

http://www.flownet.com/ron/lc.html

https://www.youtube.com/watch?v=8qC1iZN5ozw

Re:A difference between Haskell and Common Lisp by gsg on Monday December 21, 2015 @02:50PM (#10773013)
Nice article, but the language embedded here is exactly the untyped lambda calculus, not a Lisp. You can tell because there are no tags: pair is given as \x y sel -> sel x y, which is indeed the textbook way to encode pairs but does not provide enough to write CONSP.

If you wished to implement a subset of Lisp in LC faithfully you would need an encoding for sums - which would not be all that hard, but does reflect the distance between Lisp values and the raw abstractions of the lambda calculus. (There is also the more substantial matter of RPLACD, etc, but let's just pretend that particular rabbit hole is not there.)

Re:A difference between Haskell and Common Lisp by lisper on Monday December 21, 2015 @03:11PM (#10773172)
> does not provide enough to write CONSP

Yes, that's a very good point. That's why I said, "If you want to explore the relationship between Lisp and ULC..." and deliberately not, "If you want to see how to embed Lisp in ULC..."

Writing CONSP actually makes a very interesting exercise.