
GNU Guile 2.1.1 released - davexunit
https://lists.gnu.org/archive/html/guile-devel/2015-11/msg00007.html
======
Kjeldahl
From the announcement:

 __Complete Emacs-compatible Elisp implementation

Thanks to the work of BT Templeton, Guile's Elisp implementation is now fully
Emacs-compatible, implementing all of Elisp's features and quirks in the same
way as the editor we know and love.

So where's my guile-based emacs build? Not holding my breath, but it certainly
would be a very nice christmas present (not sure about the year though)!

(yeah, I know emacs is a lot more than just it's elisp implementation...)

~~~
mitchty
Cool, so if/when the guile vm is default, does that mean we could finally get
better process control in emacs?

Honestly I love emacs but it is not the most performant thing on the planet.
Redrawing taking tons of time bugs that have existed for years, non blocking
i/o to things like processes doesn't really exist etc...

It could do for a lot of spit and polish in the concurrency/threading land.

~~~
sooheon
How much of that is limited by the C core as well? Waiting for that to be
fixed seems like another level of infinity than guile-emacs.

------
atgreen
Awesome. I worked on Guile almost exactly 20 years ago. It's probably very
different from what it looked like back then. Emacs-on-Guile was one of
Stallman's ideas back then, as well as using it for a GNU tcl implementation.
Sounds like we're half way there!

~~~
agumonkey
Some old GNU ideas are popping again. Guile as a system language in GuixSD.
Hurd too. Funny times.

------
rtz12
The new website looks much better than before, great job. I am planning to
build something using Guile, but sadly my time is limited.

~~~
p4bl0
I agree, but I'm also a bit (selfishly) sad to see that the old logos have
disappeared (I was the one who redraw them in SVG, before only bitmap formats
where available).

------
ambulancechaser
the website looks great. But it's always so confusing that GNU's language of
choice doesn't seem to be used by anyone. The marquee projects listed as using
guile seemed a little underwhelming

~~~
pjmlp
It is a Scheme implementation. At very least many universities do use Scheme.

~~~
ambulancechaser
its a flavor of scheme. But it was made to be the language of extension in GNU
projects. I've just never heard of anyone actually using it. And the projects
that seemed to have embraced it seem rather small for the banner or marquee
projects on their website.

~~~
rekado
There's also Lilypond (lots of Guile) and Gimp (a little bit of Guile), which
are both pretty well-known projects. Guix itself is a large project. GDB has
Guile scripting support as well.

The website could feature a few more projects.

------
Scarbutt
nice website! for some people this makes a huge a difference.

BTW, what's this 2.1.1 vs 2.2 thing? I see they are used interchangeably.

~~~
ploxiln
This is the not-entirely-unique practice of using odd minor numbers for beta
releases and even minor numbers for stable releases.

Gnome does this as well - 3.17.x was beta, 3.18.x stable.

Linux was one of the first projects to use this pattern, but hasn't since
early 2.6.x.

------
Touche
Guile compiles to bytecode, is there a way to then link that to guile to
create a standalone executable?

~~~
dorfsmay
Not that I know of, but Racket and Chicken, and I believe newer versions of
Gambit, can produce executable from their version of scheme. Scheme was
originally meant to be embedded so compiling to an standalone executable was
never part of its goals.

[http://racket-lang.org/](http://racket-lang.org/)

[http://www.call-cc.org/](http://www.call-cc.org/)

[http://gambitscheme.org/wiki/index.php/Main_Page](http://gambitscheme.org/wiki/index.php/Main_Page)

~~~
59nadir
There's also Stalin, an extremely optimization-heavy compiler for Scheme to C;
[https://engineering.purdue.edu/~qobi/software.html](https://engineering.purdue.edu/~qobi/software.html)

The 'website' is really just Jeff Siskind's page with a listing of what he's
done.

It seems mostly dead nowadays and there's very little info to find on it. The
following page is pretty much the most amount of actual information I could
find:

[http://community.schemewiki.org/?Stalin](http://community.schemewiki.org/?Stalin)

~~~
ThatGeoGuy
Keep in mind that Stalin is a very small subset of R4RS (note that the current
is R7RS-small), and in many ways becomes a very small portion of an already
small language. This makes it easy to optimize, but can be annoying if you're
coming from other languages that are less spartan.

As for using Stalin, I would argue that nowadays it is better to use the
CHICKEN port of Stalin [1], as it is a bit more up-to-date and provides some
extensions (such as using '\n' in string literals, something Stalin didn't
provide from the outset!!!). In any case, it's nice to see the variety in
Scheme implementations, but in the case of Stalin I personally turn my nose
up, as CHICKEN is often fast enough on it's own (or can be made to be),
without restricting myself to a very tiny set of tools and libraries. That's
not to say the work on Stalin hasn't been appreciated, I'm sure Gambit and
CHICKEN have taken their fair share of ideas from Stalin as time has gone on.

[1] [http://wiki.call-cc.org/eggref/4/stalin](http://wiki.call-
cc.org/eggref/4/stalin)

------
ubercow
First time looking at Guile and I see this:

> (use-modules (srfi srfi-19))

Couldn't they have picked a better name for these modules? seems like it would
be quite obnoxious to remember all these by their number instead of a nice
name.

~~~
kazinator
The SRFI numbering is Scheme-language-wide; it's not a Guile thing.

SRFIs (Scheme Requests for Implementation) are something like RFC's for the
Scheme language.

They are proposed features that are not standardized in the Scheme Report.
Their numbers identify the proposal.

So if we see srfi-19 being referenced in Guile code, it is cryptic, but it
references the proposal which gives the requirements for that feature.

If you're porting code from Guile which depends on srfi-19 to another Scheme,
the consistency of the reference will make it easy.

~~~
ubercow
That makes a little more sense. Thanks!

