6 ms·
Some folks'd say that yeah, Common Lisp is the go-to Lisp. Some folks'd say no, the go-to is Scheme. Guile is GNU's common language runtime, sorta like Java's
by LukeShu 4y ago
Some folks'd say that yeah, Common Lisp is the go-to Lisp. Some folks'd say no, the go-to is Scheme.
Guile is GNU's common language runtime, sorta like Java's JVM or Microsoft's CLR. And Scheme is really the only first-class language of Guile; to a lot of people "Guile" means "Scheme". I don't know of an Emacs-like using Scheme, but there is an effort to implement Emacs-Lisp on Guile, and have GNU Emacs ditch its Lisp interpreter in favor of Guile. This would allow Emacs to use any language that can run on Guile... which mostly means Scheme.
- GrumpySloth 4y agoBeware of performance issues though. Guile is extraordinarily slow on numerical code at least. Specifically, orders of magnitude slower than Chez Scheme, while the latter is just a couple times slower than LuaJIT e.g. I got really turned off from Scheme after running some benchmarks on a couple implementations. Although I know that for people coming from say Python it may even be an upgrade.
- thrown_22 4y agoGuile is the Python of Schemes. It is not meant to be performant, it is meant to be the glue that holds everything together in the GNU operating system. That Python is the most popular language today should tell you how successful Guile has been at this goal.
- deleted 4y ago[deleted]
- tmtvl 4y agoI thought Gauche was the Python of Schemes: not super fast, but with a lot* of included batteries. * See https://practical-scheme.net/gauche/man/gauche-refe/Library-modules-_002d-Overview.html https://practical-scheme.net/gauche/man/gauche-refe/Library-... for an overview.
- User23 4y agoIf I ever take a sabbatical year then porting the C parts of GNU Emacs to Common Lisp is a project I’d love to do. Then one could host GNU Emacs in a CL image and get the whole package ecosystem. The end goal would to make CL and Elisp both valid choices for customization. My implementation strategy would probably be to start by using FFI to reuse as much of the C code as possible and then incrementally rewrite it. Or not, maybe that wouldn’t even be necessary.