3 ms·
I agree. I wish ML used s-expressions. Also, you might like this presentation, "The Swine Before Perl" by Shriram Krishnamurthi (of PLT). It's a great thing to
by silentbicycle 18y ago
I agree. I wish ML used s-expressions.
Also, you might like this presentation, "The Swine Before Perl" by Shriram Krishnamurthi (of PLT). It's a great thing to show people who wonder how you could think Lisp has a good syntax: http://www.cs.brown.edu/~sk/Publications/Talks/SwineBeforePerl/ http://www.cs.brown.edu/~sk/Publications/Talks/SwineBeforePe...
(Also: SK's book is great.)
- blasdel 18y agoML and it's successors do not want for s-exprs. They force an inappropriate fundamental data type on everything, and are only of benefit if you want to fiddle with the insides of extant functions. Use composition like a real FPer. Learn that there's so much more to data than lists + atoms.
- silentbicycle 18y ago> They force an inappropriate fundamental data type on everything, and are only of benefit if you want to fiddle with the insides of extant functions. Please explain. (And I know composition, etc. I also use Haskell and Forth.)
- jlouis 18y agoI think what is meant is that the list is the primary data structure for everything in lisps. Fortunately, it is not the only data structure in lisps. I dislike constructs where eg. a graph edge is built as: '(GRAPH-EDGE <source-vertex> <target-vertex>) whereas in ML you would write type edge = { source: Vertex.t; target: Vertex.t } which is not a list, but an entirely different representation. In Common Lisp the representation could of course be a CLOS object or a DEFSTRUCT (I think, my CL-fu is definitely not that good). As for the composition, lisps are lacking (nice) currying which is one of the basic building blocks when constructing combinator-libraries.
- silentbicycle 18y agoAh, I misread it as that ML "force[s] an inappropriate fundamental data type on everything", not s-expressions.
- dlweinreb 18y agoIt's true that earlier Lisp dialects had trouble. But in Common Lisp, you can do currying just fine. At work (ITA Software), it's part of our standard utility library.
- jimbokun 18y agoJust read the slides. The two comparing s-expressions ("ugly, evil, and an insidious plot hatched by misbegotten academics") and XML ("a hip, cool, great new idea") I found to be particularly brilliant.