News for hackers. Stuff that matters.
Re:GNU Guile 2.2.0 by didibus on Thursday March 16, 2017 @01:44PM (#13887097)
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?
Re:GNU Guile 2.2.0 by amirouche on Thursday March 16, 2017 @03:41PM (#13888438)
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 by far Python and Ruby OO systems.

6) Guile is optimised for immutability which makes it for safer code.

7) Guile has Guix which has 'guix pack' command which is awesome cf. http://git.savannah.gnu.org/cgit/guix.git/tree/doc/guix.texi...

8) Guile has a lot of supporters cf. https://lists.gnu.org/mailman/listinfo/guile-user

9) Guile has awesome maintainers

Also, there is not a lot of packages. But programs written in Guile or using Guile tend to be of higher quality, cf. http://guildhall.hypermove.net/ and http://sph.mn/content/3e73

Re:GNU Guile 2.2.0 by microtherion on Thursday March 16, 2017 @11:15PM (#13891127)
> 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 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.

Re:GNU Guile 2.2.0 by Fice on Friday March 17, 2017 @05:44PM (#13898246)
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 by Fice on Friday March 17, 2017 @06:15PM (#13898458)
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 by 59nadir on Friday March 17, 2017 @08:59AM (#13893587)
I would actually love to hear what someone deeply involved in a GNU project thinks about this: What their big benefits are, etc..
Re:GNU Guile 2.2.0 by peatmoss on Thursday March 16, 2017 @04:10PM (#13888721)
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"

Re:GNU Guile 2.2.0 by didibus on Friday March 17, 2017 @02:42AM (#13892039)
I was implying that yes. Or even more so, relevant to other Lisps.
Re:GNU Guile 2.2.0 by throwaway7645 on Thursday March 16, 2017 @06:54PM (#13889896)
Wait...I thought Guile was slow?
Re:GNU Guile 2.2.0 by peatmoss on Friday March 17, 2017 @09:51AM (#13893936)
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.
Re:GNU Guile 2.2.0 by throwaway7645 on Sunday March 19, 2017 @04:48PM (#13909545)
Interesting
Re:GNU Guile 2.2.0 by milcron on Thursday March 16, 2017 @06:38PM (#13889811)
What does "cf." mean?
Re:GNU Guile 2.2.0 by Veen on Friday March 17, 2017 @04:54AM (#13892518)
In this case it seems to mean viz. or e.g.

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.

Viz. and cf. are often confused, as in this case.

Re:GNU Guile 2.2.0 by taejo on Friday March 17, 2017 @07:18AM (#13893077)
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.
Re:GNU Guile 2.2.0 by hencq on Thursday March 16, 2017 @06:42PM (#13889833)
It means compare. So typically you'd use it to give a contrasting example. In this case it seems to be (mis)used to mean 'see' though.
Re:GNU Guile 2.2.0 by rixed on Thursday March 16, 2017 @03:52PM (#13888550)
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).

Re:GNU Guile 2.2.0 by davexunit on Thursday March 16, 2017 @03:06PM (#13888046)
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/

Re:GNU Guile 2.2.0 by flukus on Thursday March 16, 2017 @07:45PM (#13890166)
That looks cool and/or terrifying. How does it go usability wise?
Re:GNU Guile 2.2.0 by davexunit on Friday March 17, 2017 @02:54PM (#13896837)
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 by B___K on Friday March 17, 2017 @09:23PM (#13899370)
How does it compare to say Arch?
Re:GNU Guile 2.2.0 by amirouche on Friday March 17, 2017 @02:12PM (#13896434)
It's easier to declare packages recipes using guile than a mix of xml/bash/config files that other distro use.
Re:GNU Guile 2.2.0 by NelsonMinar on Thursday March 16, 2017 @05:16PM (#13889261)
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
Re:GNU Guile 2.2.0 by silky on Thursday March 16, 2017 @10:46PM (#13890971)
> One will be Lisp-like, and one will have a more traditional algebraic syntax.

What's that algebraic syntax'ed language he mentions?

Re:GNU Guile 2.2.0 by sirn on Friday March 17, 2017 @09:46AM (#13893886)
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.
Re:GNU Guile 2.2.0 by ziotom78 on Saturday March 18, 2017 @02:02AM (#13900136)
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 by tathougies on Thursday March 16, 2017 @01:46PM (#13887137)
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?
Re:GNU Guile 2.2.0 by amirouche on Thursday March 16, 2017 @03:30PM (#13888336)
yes.
Re:GNU Guile 2.2.0 by ArneBab on Thursday March 16, 2017 @03:42PM (#13888449)
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/
Re:GNU Guile 2.2.0 by tree_of_item on Thursday March 16, 2017 @04:43PM (#13888988)
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).

Re:GNU Guile 2.2.0 by davexunit on Thursday March 16, 2017 @05:11PM (#13889222)
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.
Re:GNU Guile 2.2.0 by tree_of_item on Thursday March 16, 2017 @05:46PM (#13889500)
Take a look at https://www.openhub.net/p/guile/contributors/summary

Are you saying this is inaccurate? Andy is far and away the top contributor, it's not even close. It really does seem to be a one man show.

Re:GNU Guile 2.2.0 by amirouche on Friday March 17, 2017 @02:16PM (#13896482)
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.
Re:GNU Guile 2.2.0 by davexunit on Thursday March 16, 2017 @08:31PM (#13890383)
Go away, troll.
Re:GNU Guile 2.2.0 by tree_of_item on Thursday March 16, 2017 @09:21PM (#13890595)
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?
Re:GNU Guile 2.2.0 by davexunit on Friday March 17, 2017 @09:02AM (#13893601)
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.
Re:GNU Guile 2.2.0 by killin_dan on Thursday March 16, 2017 @09:34PM (#13890649)
Shame you're being downvoted. Your work inspired me to learn to program with guile and SICK a few years ago. Thanks for everything
Re:GNU Guile 2.2.0 by tree_of_item on Thursday March 16, 2017 @09:52PM (#13890728)
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.