Live data from Hacker News

GNU Guile 2.2.0

gnu.org

141–149 of 149 posts

Re: GNU Guile 2.2.0

#141
post #106

Earlier quoted context omitted.

Tcl was accused of being a scripting language that is more suitable for simple scripts, so I went and took a look at the Wikipedia article to see if it too presented a similar view. To quote: "It is commonly used embedded into C applications,[9] for rapid prototyping, scripted applications, GUIs, and testing.[10]" Is wikipedia also doing a fud attack on Tcl (as it naturally could be the case), or is RMS post simply a…

At the time, Tcl was being used for fairly large apps (and it still is, e.g. in WaveSurfer). As for large scale suitability, I would guess that both Tcl and guile nowadays are eclipsed by Lua for embedded scripting, which to me would suggest that "simple" won out over "powerful". What is not mentioned in that thread (at least not in RMS' original message) is that what triggered his edict was that somebody extended gd…

Your narrative omits that gdb added Python scripting support in 2009.

Of course, as astute readers will already have guessed, Python is permissively licensed.

Re: GNU Guile 2.2.0

#142
post #111

Earlier quoted context omitted.

Yes, it is relevant. For example, Guile powers an entire GNU/Linux distribution[0] where Guile is used for the init system, initial ram disk, and package manager. [0] https://www.gnu.org/software/guix/

That looks cool and/or terrifying. How does it go usability wise?

It's quite usable, but like anything could be better. I run GuixSD as my daily driver OS on a laptop and desktop and it's very comfortable for my needs. OS upgrades can be easily rolled back in case I screw something up so I feel more confident to experiment with my system.

Re: GNU Guile 2.2.0

#143

Earlier quoted context omitted.

At the time, Tcl was being used for fairly large apps (and it still is, e.g. in WaveSurfer). As for large scale suitability, I would guess that both Tcl and guile nowadays are eclipsed by Lua for embedded scripting, which to me would suggest that "simple" won out over "powerful". What is not mentioned in that thread (at least not in RMS' original message) is that what triggered his edict was that somebody extended gd…

Your narrative omits that gdb added Python scripting support in 2009. Of course, as astute readers will already have guessed, Python is permissively licensed.

Both true, but I did not want to further digress. I would argue that the fact that it took 15 years for scripting support to show up again is evidence that the original policy was counter-productive.

Re: GNU Guile 2.2.0

#144

Earlier quoted context omitted.

0) Guile is a GNU project 1) Guile has no Global Interpreter Lock. 2) Guile is a scheme, so it is homo-iconic cf. https://en.wikipedia.org/wiki/Homoiconicity 3) Scheme (and lisp in general) are nice to write Domain Specific Languages. 4) Guile doesn't have a particular overhead for calling simple functions which makes it possibly as fast as C. 5) Guile has a very powerful object oriented programming framework beating…

> 0) Guile is a GNU project Honest question: How does that help nowadays? Certainly in the early 90s, browsing the GNU ftp site was terrific for discovery, and in the 80s, GNU tapes were even more powerful, but nowadays, GNU seems to be irrelevant for discovery. I can't think of a single software project in the last 20 years that I've discovered through its GNU association. Similarly, GNU used to be important as an i…

I'm not a participant in the GNU project, but, as I see it, the most important thing about GNU is that they actually have ethics and culture, and that's what keeps the project relevant for decades. They hold to their principles and are able to follow their own way without succumbing to pop culture of the modern IT.

So yes, being part of the GNU project is probably more of a cultural thing than an immediate practical advantage.

Re: GNU Guile 2.2.0

#145
post #144

Earlier quoted context omitted.

> 0) Guile is a GNU project Honest question: How does that help nowadays? Certainly in the early 90s, browsing the GNU ftp site was terrific for discovery, and in the 80s, GNU tapes were even more powerful, but nowadays, GNU seems to be irrelevant for discovery. I can't think of a single software project in the last 20 years that I've discovered through its GNU association. Similarly, GNU used to be important as an i…

I'm not a participant in the GNU project, but, as I see it, the most important thing about GNU is that they actually have ethics and culture, and that's what keeps the project relevant for decades. They hold to their principles and are able to follow their own way without succumbing to pop culture of the modern IT. So yes, being part of the GNU project is probably more of a cultural thing than an immediate practical…

On the other hand, the GNU project tries to build a coherent operating system, which means that Guile, being part of GNU, is the preferred choice of the extension language for other GNU projects. This makes it very likely for Guile to stay relevant for a long time.

Re: GNU Guile 2.2.0

#146
post #111

Earlier quoted context omitted.

That looks cool and/or terrifying. How does it go usability wise?

It's quite usable, but like anything could be better. I run GuixSD as my daily driver OS on a laptop and desktop and it's very comfortable for my needs. OS upgrades can be easily rolled back in case I screw something up so I feel more confident to experiment with my system.

How does it compare to say Arch?

Re: GNU Guile 2.2.0

#147
post #133
post #52

Can anyone tell me if Guile is relevant? The list of example programs written in Guile is small. EmacsLisp and not Scheme seems to be the Gnu lisp of choice. The VM is not the fastest and not the most portable. Is there any driver behind it?

Part of Gnucash uses Guile, principally parts that related to reports. I'm Gnucash user myself, but don't know how large is Gnucash userbase though. Another example is GNU dmd, originally the init system for GNU/Hurd, is also written in Guile.

Another important example is Lilypond [1], a music engraving program. It requires the user to write scores in text files, which are then compiled to PDF/PS files. The core is implemented in C++, and Guile is used as an extension language [2].

Personally, I find Lilypond much better than Sibelius and Finale. In the past I have developed several Scheme snippets that allow me to apply complex layouts to my scores.

[1] http://lilypond.org/ [2] http://lilypond.org/doc/v2.18/Documentation/extending/index

Re: GNU Guile 2.2.0

#148
post #16

Earlier quoted context omitted.

There’s still work to be done in pre-compiling the elisp in Guile Emacs to reduce the starttime (a lot).

I never understood why people care so much about Emacs' start time. I start emacs maybe once a month and I'd say that anyone who's starting their Emacs so often that start time becomes a nuisance isn't using Emacs the way it's supposed to be used.

The split here is between people who start it as a console application and those who start it as a GUI app. The former group start and stop it often, with separate instances running in each terminal. The latter don't, using emacs' server mode to get extremely fast "start up" times. The latter way is better, but if you really have to edit files on remote servers a lot then you might have to take the former approach. Yes you could learn to use tramp effectively also.

Re: GNU Guile 2.2.0

#149

Earlier quoted context omitted.

Wait...I thought Guile was slow?

Slow compared to C? Yeah. Slow compared to other Scheme implementations like Chez Scheme? Yeah. Slow compared to Python or Ruby? No... something has changed with the computer language shootout site, but IIRC on most benchmarks Guile was middle of the pack for Scheme, which is to say quite a lot more performant than Python.

Interesting
Post reply on HN