7 ms·
My main beef with treating the Common Lisp spec as a sacred text is simple: 1. There were things at the time that were not quite standardizable that are now. E
by eschaton 8y ago
My main beef with treating the Common Lisp spec as a sacred text is simple:
1. There were things at the time that were not quite standardizable that are now. Examples: Some degree of concurrency, system definition, the CLOS meta-object protocol, networking.
2. There are things that were created or became important in the meantime that should be standardizable now: Unicode and localization, concurrency building blocks like threads and locks and queues and atomic operations, cryptography, compression, higher level networking (URLs, HTTP, etc.).
3. There are just bugs and holes and incompleteness in the standard due mostly to compromise from the then current vendors. For example, not everything fits the sequence protocols, the language isn’t CLOS all the way down, streams, etc.
All this argues that there’s room for continued progress. The only good argument I’ve heard for why it hasn’t been pursued is “Who’d fund it?”
- blue1 8y agoI think it's evident now that a purely community-based effort to advance CL cannot realistically happen; even the CDR[1] is unmantained, and in the course of the last years many knowledgeable people have been progressively leaving the community, CL, or both. I am wondering how the "other" languages obtain funding for such things. For example, Julia raised $4M one year ago. Or should we acknowledge that no one cares about Lisp anymore? :( [1] https://common-lisp.net/project/cdr/ https://common-lisp.net/project/cdr/
- vindarel 8y agoJust to counterbalance and give some hope: projects like CLASP (CL on LLVM) got university funds to development it (and the ecosystem on the way: LSP library,…). https://github.com/clasp-developers/clasp https://github.com/clasp-developers/clasp CL is still adopted by universities (for bioinformatics it seems), or innovative firms (Emotiq (blockchain), Rigetti quantum computing,…), and is still used by big ones (https://github.com/azzamsa/awesome-lisp-companies https://github.com/azzamsa/awesome-lisp-companies), so why not see fundings in the future…
- deleted 8y ago[deleted]
- sdegutis 8y agoWhat language have they mostly been moving to?
- dwc 8y ago> the language isn’t CLOS all the way down I'm curious what you mean by this, why it's needed or would be a good thing, etc. As a multi-paradigm language, I'm not seeing why CL should have a particular paradigm "all the way down".
- throwaway487548 8y agoUniformity, which is a really good thing. Surely you could say (class-of 3) or (class-of nil) or (class-of '(1 2 3)) but technically these values are not objects, like it is in, say, Scala, which is a real-world example of how good it is to have a uniform language (everything is an expression, every value is an instance of a class, and therefore everything is uniformly high-order, uniformly typed (unlike Java with distinctions of so-called primitive types) etc, etc.
- e12e 8y agoBut would such a common lisp be better than something like Dylan?
- mikelevins 8y agoIt would not be better than circa-1992 Dylan. It would be better than present-day Dylan, though. My opinion only, of course.
- junke 8y agoEvery value in CL is an instance of class. Some of those classes are built-in classes, which are restricted for performance reason. You do not inherit from Int in Scala either, since it is marked as "final", as far as I know.
- throwaway487548 8y agoIn Scala an integer has methods, like everything else, unlike it is in Java and C++, and this is the point and the big deal. 3 + 2 is actually 3.+(2) which is the right thing.
- mark_l_watson 8y agoI don’t particularly mind that Clozure CL, SBCL, Franz, Armed Bear CL, LispWorks, etc. all have different solutions for some things not in the spec. When I retire from full time work next year, I have planned on just using one language, probably either Common Lisp or Racket, for research and recreational programming. The fact that the CL standard is crufty doesn’t really put me off. Racket does handle many of the issues you mention nicely but there is something nice about using a programming language that I have been using for 36 years. That said, if DARPA and/or a large consortium of corporations decided to drop $$$ to re-standardize and improve the language then that would be very cool. But, I don’t need that to happen.