Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
GNU is Not Unix Programming Games

Guile Scheme Emacs-Lisp Compatibility Matures 46

In a posting to the Guile developers list today, it was announced that the Emacs-Lisp compiler for Guile has matured enough to run actual elisp programs. The author included a screencast demoing the new compiler running the Dunnet dungeon crawler. It is still a bit hackish: you need a load file that fakes a few Emacs side functions. In theory, most batch mode programs that don't do buffer manipulation should now work. After a few previous attempts, things could be on track for GNU Emacs 25 based on Guile.

This discussion has been archived. No new comments can be posted.

Guile Scheme Emacs-Lisp Compatibility Matures

Comments Filter:
  • by Bomazi ( 1875554 ) on Monday April 02, 2012 @05:27PM (#39553649)

    There are many other apps using it, like gnucash.

    Having used it before I can tell you that the C API is very well made, and C and scheme can call each other with few limitations. Scheme is an elegant language too.

    Lua has three main advantages over guile. It is trivial to package, has a smaller footprint, and works anywhere. Guile only really supports posix and windows.

    But the main competitor to guile is not lua, it is python. And the battle is all but lost. The two offer about the same functionality. They can easily interface with the outside (unlike Lua) and the C API works similarly, but python wins due to its more traditional syntax and larger developer base.

    As much as I like guile, the whole point of an extension language is to encourage third-party additions, so you want a language that attracts as many potential developers as possible (including beginners), and that language is not scheme. So unless your religion forbids it (i.e. it is a gnu program), python, or maybe javascript, is almost always a better choice.

"Let every man teach his son, teach his daughter, that labor is honorable." -- Robert G. Ingersoll