5 ms·
(ABCL) - Common Lisp on the JVM
- Raphael 17y agoHow is it different from Clojure?
- ilyak 17y agoIt's different in that, being common lisp, it's actually useless. Might be fun to tinker, tho, with its CLOS and stuff.
- alrex021 17y agoUseless how? It has all the relevant constructs you'd need and more. And it runs on a JVM with access to Java lower level libraries. Far from useless I'd say.
- ilyak 17y agoClojure is two years old and already has more useful software being written in than CL. CL is a failure, admit it.
- neptun 17y ago> already has more useful software being written in than CL. Like what? Those crippled Java wrappers? > CL is a failure, admit it. You are a failure, admit it. Since you are not popular (I don't know who you are), you are useless. (Your broken logic in practice.)
- ilyak 17y agoNope it isn't. I've heard about CL, know a few things about it, and it's a failure nontheless. Its problem isn't the unpopularity between Blub programmers; its problem is its unpopularity even between geeks. Even language geeks!
- neptun 17y agoSo, you have "heard", really, I am amazed. You must really know a lot about it. Repeating your broken popularity based measurement applied to different group of people does not make it any more correct, sorry.
- ilyak 17y agoSorry, but for programming language, popularity is everything. It's a social phenomenon, it grows superlinearly with number of users. And languages become popular and unpopular for a reason. For common lisp, those reasons are: It's ancient. Parties interested in it can't agree on anything so its development is stalled. It claims to have a huge library which is tiny by 2009 standards, and doesn't have vital things like network i/o or unicode. Yes, implementations support those proprietarely, yet noone cares, because it's not in standard libs. It has problems with reflection, which is doubly awful for a lisp. CLOS is interesting, but for most uses smalltalkingly simple OO would be much more desirable. Tool support is neliglible.
- neptun 17y agoYou clearly haven't used the language on real world project. In CL world, there is enough people interested to develop actively several implementations. Also, you (as others making opinion on language from blog posts) are for some reason fixated on the idea of stuff in standard library. When it's not in standard, it doesn't exist. Wrong. You forgot that in CL, library developer has the same freedom as CL implementer. You are welcome to roll your own continuations, embedded compiler or transaction layer in your chosen popular blub for example. All your reasons are superficial. The "ancient" argument is not worth commenting. Unicode has just about every CL already implemented. Explain your reflection reservations. Heard about http://common-lisp.net/project/closer http://common-lisp.net/project/closer ? You can emulate single-dispatch of Smalltalk OO in exactly 0% of wrapper code. And tools, I hardly miss something when tracing, profiling, code completion, live upgrades, image snapshots are either solved by standard, implementation or SLIME. Also you forgot to write that "LISP is interpreted and slow" once again.
- tsally 17y agoilyak is incorrect, but I'm curious why you feel popularity has anything to do with it.
- tsally 17y agoClojure is a dialect of Lisp, it's not Common Lisp. Scheme, Clojure, and Common Lisp are all very different beasts.
- zachbeane 17y agoIt's several years older and implements the standardized language Common Lisp.
- briancooley 17y agoTwo biggest differences would be Java interop (see http://www.cliki.net/Armed%20Bear%20Lisp http://www.cliki.net/Armed%20Bear%20Lisp) and concurrency support. ABCL appears to be a little clunkier than Clojure for calling Java. Being a CL, ABCL places no restrictions about mutability on basic data structures and doesn't have the STM/agent functionality for concurrency built in. On the other hand, Clojure doesn't have CL's condition system (http://gigamonkeys.com/book/beyond-exception-handling-conditions-and-restarts.html http://gigamonkeys.com/book/beyond-exception-handling-condit...).
- alrex021 17y agoA bit off topic, check out JScheme http://norvig.com/jscheme.html http://norvig.com/jscheme.html a Scheme implementation for the JVM. Peter Norving wrote it initially as a way to learn Java in 1998. So he decided he'd write Scheme implementation in Java in couple of hours.(I swear, his Java code still looks better than mine today and he wrote it 11 years ago. :)) I see loads of code in JScheme that could have influenced Clojure to some degree.