Which LISP implementation will be useful for run of the mill problems?

By guenchi at 置顶 • 0人收藏 • 741人看过


I think that if you don’t need extra performance, then you’d probably be satisfied with Guile Scheme — especially if you’re accustomed to Emacs and configured the Geiser package for it. Guile is nice, because it has good documentation contained in the info pages (although it has its caveats, too) and is very hackable and dynamic. It has proven itself in the domains such as data mining, easily competing with other popular languages from that domain such as R, especially if you back it up with guile-scmutils package. If you work on Windows, setting up Emacs+Guile+Geiser can be a bit difficult, though, so you may prefer MIT/GNU Scheme that comes bundled with an emacs-like editor called Edwin (the integration with the Windows system is limited though, and you’d still need to get used to the weird Emacs keystrokes).

Scheme is also a nice choice if your applications are performance-critical, because then you could switch to some implementation that offers better performance, such as ChezGambit (which compiles to portable C that can be even deployed to smart phones via the Lambda Native project) and (to some extent) Stalin, and if you ever need to travel to the realm of Java, Kawa Scheme is there for you. Also, you could run your Scheme programs in a web browser using BiwaScheme, or maybe compile them to JavaScript using Spock that comes with CHICKEN Scheme (which is also a very very high quality implementation, with an excellent package management system). Got stuck in the C# cesspit? Maybe IronScheme will cheer you up. Or perhaps you’d like to benefit from strict typing or lazy evaluation? Racket offers such extensions (and many others, that you may find worthwhile, especially if you’re in academic setup).

Also, if you need an interpreter that would run on an embedded system based on ARM microcontroller, you may want to check out ARMPIT.

So yeah, I think that Scheme is a pretty safe choice.

However, if you aim for the web, I think that Clojure and ClojureScript might be the best options available, because of their active communities and the tool called figwheel (If you use Emacs, don’t miss CIDER as well).


登 录


推荐实现 ChezScheme / r6rs / r7rs large
Q群: 724577239



HTTP服务器:Igropyr (希腊火)





Clojure 中文论坛