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?
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 infrastructure provider for open source software, but nowadays is one hosting option among many, and not a particularly attractive one.
GNU has never helped much in developing software, the individual projects always stood and fell with their maintainers. So it seems to me that nowadays people put their projects under the GNU umbrella mainly because they buy into a particular worldview of how software should be licensed.
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.
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.
Many of these would apply to most if not all scheme implementations though. I'm genuinely curious if there are use cases that set Guile apart from, say, Chez Scheme.
EDIT: Given that the original question appeared to imply "relevant as compared to other schemes"
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.
Cf. is an abbreviation of "confer" which is Latin for compare and is used to introduce material that should be compared to assertions made previously.
Viz. is an abbreviation of "vidilcet" which is Latin for "namely" or "as follows" and is used to indicate a more complete statement or example of something that has just been asserted, whereas e.g. precedes examples that illustrate a point.
I don't think "viz." is correct here, either, which isn't surprising given the total absence of hyperlinks in the Latin corpus. A plain "see" would be best.
It is still very relevant as an extension language for C (and C-likes, I suppose).
If you have all these constraints:
- must be easy to use extensions languages functions from C, and the other way around
- must therefore be easy to convert values from the extension language to C, and the other way around
- must be possible to share this state in a multi thread program
- including, have several threads implemented in the extension language
- must be able to load code at runtime
Then guile is not only a good choice, it's sadly the only possible choice (or at least that was the case last time I checked few years ago). Many languages that claim to be good at extending C are lacking one of the above (usually the multithreading part; Lua, for instance, allows to start several VM in several threads, but they are isolated).
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.
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.
Back in 1994 rms told us all we should not use Tcl, that GNU was building their own scripting language. True believers have been using Guile ever since. http://vanderburg.org/old_pages/Tcl/war/0000.html
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.
You usually don't write anything other than emacs extensions in emacs lisp -- it would be overkill to have to start emacs just to start an HTTP server. For these purposes, guile would be a better choice?
Though that does not mean that there are no people who use Emacs to run a http server. Emacs (with elnode) powers marmalade, for example: https://marmalade-repo.org/
Besides being controlled by GNU, not really. Guilemacs is probably not going to happen either.
I like Emacs and all, but I'm really not sure why we'd be excited about Guile. Andy is a really awesome guy but he's the only one contributing to Guile, so there's no way it's ever going to compete with things like Chez or Racket (which is moving to Chez soon as well).
Andy is not the only one contributing to Guile. He does a ton, for sure, but Guile is far from a one man show. There are 2 other maintainers and many other contributors.
It's almost acccurate, off by not much. There is a few contributions that don't appear here like guile-nash and guile-log which are respectively tracing JIT compiler and prolog in scheme runtime.
What? It's a serious question. It'd be great if a flagship GNU project was a serious competitor with other programming languages, but it honestly looks like Guile is being kept afloat by one or two people. Why is mentioning this trolling?
Sorry, but it seemed like you were trolling. Guile is not a one man show. I have been active in the Guile community for 5 years now, so I know. I will admit that the bus factor in the compiler portion of the code is high, driven almost exclusively by Andy, but he has done a significant amount of writing about how the compiler works and even listed several other improvements that can be done in an effort to get more people involved. I have no experience with compiler hacking and yet I was able to implement an optimization and get it into the 2.2 release. The commit history alone isn't enough to understand the group of people that push Guile forward.
By "shame you're being downvoted", do you mean you agree that I'm trolling? Care to explain why? davexunit's contributions have nothing to do with this.