Re:I would have hired Doug, but...
by ScottBurson on Wednesday May 06, 2015 @04:10PM
(#9501479)
Ha! I'm still using a piece of Lisp library code that I wrote as an undergrad 35 years ago :-)
You come to realize that the vast majority of what passes for "new technologies" is really just a re-discovery of something that exists (or is easily implemented) in CL
So much this. (From a soon-to-be geezer who's staring down 40 soon.)
Re:I would have hired Doug, but...
by munificent on Wednesday May 06, 2015 @04:23PM
(#9501551)
> no other language has co-opted yet.
Check out Dylan, Julia, and my old hobby language Magpie[1].
I guess I should have said: no other mainstream language.
Julia has generic function but they are not defined in Julia itself nor is dispatch mechanism can be extended in Julia itself. CLOS is all about meta-circular semantics so I wouldn't include Julia in there (at least not fully)
Same with conditions and restarts.
GOOPS[0] in guile is definitely hugely inspired by CLOS, which also has generic functions with multi-method dispatch.
I highly recommend guile to anyone who wants the battery included nature of common lisp. I know that racket is also a great choice here, I just have little experience with it.
Re:I would have hired Doug, but...
by no-name-1231 on Saturday May 09, 2015 @04:17PM
(#9517554)
Racket's object system is largely inspired by Java. So is its statically-compiled module system (in which you can't change anything once it's been compiled, unlike a real Lisp), and Raco build tool. Programming with objects in Racket feels a lot like programming with Java objects in Clojure.
Once you grok Lisp, everything else is easy. You come to realize that the vast majority of what passes for "new technologies" is really just a re-discovery of something that exists (or is easily implemented) in CL. That makes it a lot easier (if a tad frustrating at times) to keep up.
EDIT: CLOS, and generic functions in particular, are a HUGE lever that no other language has co-opted yet.