6 ms·
SBCL 1.2.0 Released with ARM support
- enduser 12y agoFYI, SBCL is a high-performance open source compiling implementation of Common Lisp. All SBCL code is either released into the public domain or available with the FreeBSD license. Rumor has it that the next release of SBCL will support calling SBCL from Java on Android.
- tomjen3 12y agoI hope so, then I will just have a reason to do it - running lisp code in production would be a rare badge.
- eudox 12y agoFrom what I've gathered, it's run in production, just not the production environments this community usually hears about. There is pretty much no web ecosystem in Common Lisp, which is what I'm trying to fix, but in other domains it fits just fine.
- piokuc 12y agoI guess tomjen3 was thinking about a badge for himself :)
- patrickmay 12y ago> There is pretty much no web ecosystem in Common Lisp Hunchentoot and Drakma rock.
- eudox 12y agoHunchentoot is just a web application server. Compare that the the ecosystem in Ruby or even Node.js.
- piokuc 12y agoSBCL on Android will be really great. There is mocl there already, but SBCL is a bit more mature... And it's a full Common Lisp, no limitations.
- zvrba 12y ago> Rumor has it that the next release of SBCL will support calling SBCL from Java on Android. I would have thought that ABCL (Armed Bear CL) would be a more suitable candidate for porting to Android. It's already written in Java.
- sspiff 12y agoSome people care about performance, and ABCL is nowhere near SBCL in this regard. I also don't know if ABCL's compiler is offline (generating class files from CL code) or on-demand (likely using OW2 ASM). While it is no longer impossible to do, it remains tricky to generate Dalvik bytecode at runtime, and the performance hit is significant (look at Clojure on Android).
- photex 12y agoI noticed that ARM binaries aren't yet provided. Does this just mean they haven't gotten around to it yet or that ARM isn't suitable for production at this time? I'd really like to experiment with SBCL on the beaglebone. :)
- rjsw 12y agoIt isn't difficult to cross-compile if you don't want to wait for official binaries.
- jlarocco 12y agoI can't answer authoritatively, but I do know they're not really good at updating the downloads page for anything other than AMD64 Linux and the source tarball (and of course the Git repo). Usually I just build from source. The catch, of course, is that building from source requires a pre-existing SBCL to bootstrap. My guess is the only way to get it running on ARM right now is to get it for a non-ARM platform they have for download, bootstrap to 1.2.0, and then cross compile to ARM.
- zachbeane 12y agoOne of SBCL's claims to fame is that it doesn't necessarily require a previous copy of itself to bootstrap; it can in theory use CLISP or Clozure CL. (In practice it isn't always tested and working, and I don't know if it would work on ARM if you tried it today.)
- wglb 12y agoRegarding building from source requires a pre-existing SBCL to bootstrap, it is actually true that building from source requires a pre-existing Lisp to bootstrap.
- nitrogen 12y agoARM systems are so diverse that, unless you define a specific operating system, ABI plus floating point calling convention, and CPU type (see http://blog.alexrp.com/2014/02/18/android-hard-float-support/ http://blog.alexrp.com/2014/02/18/android-hard-float-support... for a tangentially related example I found in a quick search), a binary either doesn't do you any good, or doesn't take advantage of the SIMD CPU features of your platform.
- guiomie 12y agoI'm not too knowledgable about lisp, but what should I focus learning, Clojure or Steel Bank ? If I understand properly, SB Common lisp doesn't run on a VM ... ?
- brudgers 12y agoThe best choice depends on your reasons for learning Lisp. If it's to work through Structure and Interpretation of Computer Programs or just learning in general, then Racket is the way to go. Teaching Lisp is embedded in its culture. On the other hand, if you are hard core all day with the JVM, then Clojure. But I would not recommend Clojure as a first Lisp. Its community is very much organized around being a better JVM language, somewhat around teaching people Clojure in that context, and not really around introducing people to Lisp. It's more about providing Lisp to the JVM programmer and JVM to the Common Lisp programmer. As for learning Common Lisp, if you're plan is to work your way through Graham's On Lisp or Hoyte's Let Over Lambda then it makes sense. Of course any of them make sense if it's for work.
- ameoba 12y ago> But I would not recommend Clojure as a first Lisp. Its community is very much organized around being a better JVM language You can say that again. If you don't have a background in Java, it's a lot to swallow.
- zurn 12y agoWhat about ClojureScript?
- brudgers 12y agoI'd never suggest it as a good starting point for learning Lisp. Clojure's design inherits some implementation details from Java and the JVM. ClojureScript has amother layer of limitations based on ECMAscript's specification. They make sense If one understands Clojure as a response to the JVM and has a similar understanding of JavaScript's specification. Without that it's going to be hard to have an intuitive feel for the ways in which it's been ported. And given its lack of standalone documentation the a programmer is even more on their own.
- tete 12y agoI browsed through Common Lisp GitHub repos, but it didn't really answer my question. Are there any known, much used applications, frameworks, libraries, whatsoever? Something to see the structure of big projects? Something that possibly shows there are also bigger companies interested into LISP?
- zvrba 12y agoNot on github, but, IIRC, Catia is written mostly in Lisp.
- epsylon 12y agoYou're probably thinking of AutoCAD, which isn't written in Lisp, but scriptable using Autodesk's variant of Lisp.
- rayiner 12y agoLisp was popular back when the "interesting" apps were things like compilers, AI systems, mathematics systems, GUI's, etc. See: http://en.m.wikipedia.org/wiki/Category:Common_Lisp_software http://en.m.wikipedia.org/wiki/Category:Common_Lisp_software
- throwawayaway 12y agowhat do you consider interesting nowadays?
- tempodox 12y agoYay, good news. By the time Apple uses ARM instead of Wintel CPUs for OS X, I hope that SBCL will be ready for ARM in at least the same quality it now has for x86_64. BTW, are there any comparisons between SBCL's “Python” compiler and an LLVM backend (mocl seems to have one)?
- enduser 12y agoI haven't seen any published mocl performance data. One significant difference between the two is that SBCL's compiler is online (available at all times) whereas mocl's is only available on the development machine. So mocl is an implementation of Common Lisp the language, but not a complete Common Lisp environment.