Re:The Failure of Lisp? A Reply To Brandon Werner
by silentbicycle on Friday September 19, 2008 @06:44AM
(#309132)
> 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.)
Re:The Failure of Lisp? A Reply To Brandon Werner
by jlouis on Friday September 19, 2008 @07:43AM
(#309154)
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.
Re:The Failure of Lisp? A Reply To Brandon Werner
by dlweinreb on Saturday September 20, 2008 @08:05PM
(#310139)
It'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.
Re:The Failure of Lisp? A Reply To Brandon Werner
by silentbicycle on Saturday September 20, 2008 @11:42AM
(#309927)
Ah, I misread it as that ML "force[s] an inappropriate fundamental data type on everything", not s-expressions.
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.