Slashdot Mirror


Two Years of GNU Guile Scheme 2.0

Two years ago Guile Scheme, the official extension language of the GNU project, released version 2.0, a major upgrade to the implementation. As part of the two year anniversary, the maintainers organized a challenge to hack a small project using Guile in 30 days as part of a birthday software potluck. The two coolest dishes appear to be OpenGL support using the FFI, and XCB bindings built using the XML specification for XCB: "guile-xcb is a language implemented in the Guile VM that parses the XML files used by the xcb project to specify the X protocol and compiles them into Guile modules containing all the methods and data needed to send requests to the X server and receive replies/events back. If new X extensions are added to the xcb library, guile-xcb can compile and add them with no additional work. " See the release announcement for details on the other dishes.

5 of 107 comments (clear)

  1. Guile supports curly-infix, too! by dwheeler · · Score: 4, Interesting

    Another cool thing about GNU guile is that the most recent version supports SRFI-105, "curly-infix-expressions", as developed by the Readable Lisp S-expressions Project. Curly-infix expressions let you write stuff like {a + b} instead of (+ a b), which is a big improvement in readability.

    --
    - David A. Wheeler (see my Secure Programming HOWTO)
    1. Re:Guile supports curly-infix, too! by cduffy · · Score: 3, Insightful

      Correct me if I'm wrong, but wouldn't that break the fact that in Lisp everything is supposed to be a list?

      Plenty of LISPs break that "rule", and usually for the better. Clojure wouldn't be the tremendously practical and useful language it is if it didn't have vectors, maps, queues, and the like.

      What's important is that the language retains isomorphism (and thus, LISP's full measure of metaprogramming power) -- as long as your parse tree and your code map 1:1, adding some additional types does no harm and a world of good.

  2. Emacs and Guile need each other by Anonymous Coward · · Score: 3, Interesting

    I've wanted to get into Lisp, but it's frustrating that my everyday GNU environment is split between Guile and Emacs Lisp. I wish that the project, talked about for years, to rewrite Emacs and base it on Guile would take off. It would save Guile, in a sense, because in spite of Scheme's status as the official GNU extension language it tends to be overlooked, and Emacs would benefit greatly from the bindings already developed for Guile.

    1. Re:Emacs and Guile need each other by Unknown+Lamer · · Score: 4, Informative

      It's close to being reality. Guile has an Emacs-Lisp compiler to its VM that can run actual elisp programs, but lacks... the emacs part. And last summer's GSoC (perhaps this summer, finishing it?) saw emacs's lisp interpreter ported to guile... as in, the C representations of Emacs's internal data types and control structures are done using libguile. The code is currently being rebased on the latest emacs trunk; hopefully it'll see public release sooner than later.

      Now the two pieces just have to meet in the middle.

      So that's the first 95%. Now just for the other 95%!

      --

      HAL 7000, fewer features than the HAL 9000, but just as homicidal!
  3. Re:scheme, bitches! by Anonymous Coward · · Score: 3, Informative

    Perl is dead

    Only in my happiest, wildest, wettest dreams.