5 ms·
I 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
by jlouis 18y ago
I 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.