4 ms·
Two things keep coming up in language discussions. The first is the cry of "Lisp did it first", whenever a non-lisp language touts a new feature. The second i
by regularfry 15y ago
Two things keep coming up in language discussions. The first is the cry of "Lisp did it first", whenever a non-lisp language touts a new feature. The second is this concept of "winning".
If you combine these two ideas, you come to the conclusion that if any other language is seen to be "winning", it should be simple to port that language's syntax and stdlib onto a lisp environment - after all, every facility the other language might need can be provided by the lisp runtime, and reader macros might be a suitable way to avoid an explicit compilation step, depending on the language being tackled.
I cannot think of a single case of this happening. Instead, we see precisely the reverse - clojure is implemented on the JVM, CLR and JS runtimes, and there are scheme implementations everywhere.
What does this mean? It means that it isn't languages which "win" or "lose". It's plaforms. "Lisp" isn't a platform, therefore it cannot "win". The question is moot.
- sedachv 15y agoYour observation about platforms is spot on IMO. This is something that I want to work on - making Common Lisp a platform. Having libraries that provide system programming features and work across a wide range of implementations is the first step. CL is underspecified in terms of a lot of systems programming stuff. The #1 priority in this space is integration with the Unix shell - scripting, having executables, stdin and out, command-line arguments. Not really any good libraries that combine all this into one thing that works well everywhere. The second big thing is packaging and distribution - Quicklisp addresses that well. Next step beyond making Quicklisp better is a script for Linux that finds the Common Lisp implementation on your system (and installs one if not present), and loads whatever software you need - essentially a common installer for CL applications that bootstraps off of Quicklisp. About other languages on Common Lisp, there is actually a large number: http://www.cliki.net/programming%20language http://www.cliki.net/programming%20language A lot of languages have been ported to run on various Scheme (Racket and Gambit) implementations.
- regularfry 15y agoOf the implementations on that list, only three are what I'd call "competitive imports": the JS, Python and JVM implementations. I'm intrigued as to why these are not generally considered to be viable first-class alternatives.
- jhuni 15y agoThe Lisp machines were a platform, they lost, and utter crap won instead.