> 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.)
Please explain.
(And I know composition, etc. I also use Haskell and Forth.)
'(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.