Live data from Hacker News

GNU Guile 2.2.0

gnu.org

111–120 of 149 posts

Re: GNU Guile 2.2.0

#111
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?

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?

Re: GNU Guile 2.2.0

#112
post #18

How does this stack up against all the other popular Lisp variants out there?

For Schemes, see http://ecraven.github.io/r7rs-benchmarks/benchmark.html — my takeaway: - Performance: Guile 2.2.0 is halfways between the medium-speed Schemes and the high-performance Schemes. On par with Larceny, MIT, chicken and bigloo (and racket IIRC, but that’s missing in the benchmarks right now). - Compatibility: Guile 2.2.0 is among the 10 most complete r7rs Schemes, missing only circular lists (the other fa…

Notably, they were able to achieve this performance with bytecode interpreter. Unlike other mentioned Scheme implementations, Guile does not use a native compiler (neither JIT nor AOT).

Re: GNU Guile 2.2.0

#113

Earlier quoted context omitted.

You mean a jit compiler. There is still not AOT compiler for GNU Guile AFAIK. Except janneke work.

Guile uses an ahead of time (AOT) compiler. Someone wrote an experimental tracing JIT recently [0] but that's not part of Guile itself. [0] https://github.com/8c6794b6/guile-tjit

I believe in theory it also uses Lightning[1], but I can no longer get Lightning to build since GCC 6 or so, so I can't verify that.

[1]: https://www.gnu.org/software/lightning/

Re: GNU Guile 2.2.0

#114
post #92

Earlier quoted context omitted.

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.

So it's not supposed to be started often? Where does it say that?

In my experience, most people who use emacs as a primary tool run it in server mode. On modern hardware, its footprint is trivial, and that allows you to launch the interface in a fraction of a second. My machines all have an alias for emacs that checks and launches the server (if necessary) before the interface, so I only have to bear a slow start once per reboot.

Re: GNU Guile 2.2.0

#115
post #109

Earlier quoted context omitted.

While others in this thread rightly point out that there's still work to be done to make GuileEmacs, I'm interested in another use case that seems like it could potentially be realized in the near-ish term: lib-org-mode. I love org-mode, but wish that some of the features could be ported elsewhere just to make the format more ubiquitous. Or a stand-along org-mode notebook server. Or support in other text editors. Or.…

Do we want the format to be more ubiquitous? Org-mode is fantastic, but the format itself is .... obviously organic.

So that I can use it everywhere and people won't look askance? Definitely!

If I compare RMarkdown and org-mode, for example, org is strictly better for academic writing or anywhere else where internal cross-references are needed. Org isn't an astounding format, but it is quietly competent.

Re: GNU Guile 2.2.0

#116

Earlier quoted context omitted.

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.

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.

Go away, troll.

Re: GNU Guile 2.2.0

#117
post #97

Earlier quoted context omitted.

> I do not agree that an if macro stands for some specific lambda-based utterance. That isn't historically true, or in any other sense. Huh? Are you saying the use of lambdas does NOT give if* the ability to control the execution of 'then' and 'else'? My point is that if you're concerned about how often you evaluate a block of code (0, 1, or n times), there are ways to achieve this goal that do not require macros. (A…

I never wrote that macros are required to control evaluation. Rather, what I wrote is that there are examples of macros for which evaluation is specified. In fact, most ANSI Lisp macros are like this; unless stated otherwise, those constituents of a macro call which are forms are evaluated once, and left to right. The whole point is that this sort thing can be specified, because there is a robust way to write macros…

> I never wrote that macros are required to control evaluation.

I think that came from me. My point was mainly that 1) control over evaluation is a significant reason to use macros 2) there are other ways to achieve that goal and 3) those other ways should be used to the extent possible. To me at least, this diminishes the value of one of the key headline features of the Lisp family of languages.

Note that this does not mean that I don't want to use the language.'I've maintained a personal and professional interest in the language that dates back over 25 years. When I have the choice, I usually reach for Lisp (really Clojure these days) as the most effective way to write the software I have the time and interest to write. It's just that the reasons for this don't center around the idea of compile time code transformation. (As useful as that can be when needed.)

> There are common examples of macros that use machine-generated unique variables to hold the results of evaluating an argument form, in order to be able to insert that value into multiple places in the generated code. An implementation of with-slots likely has to, for instance.

I do know this, because I've written at least a few of them myself.

https://github.com/mschaef/vcsh/blob/255afa60adf180e7e3e5b6e...

https://github.com/mschaef/vcsh/blob/255afa60adf180e7e3e5b6e...

Edit:

> ... insert that value into multiple places in the generated code.

Is that really what you meant to say? You're using a machine generated variable in a macro to 'insert a _value_ into multiple places in the generated code'? (As in, the value itself gets emitted in the generated code?)

The code I link to above does something slightly different. What it does is generate code that uses a machine generated variable to hold the result of a single execution of an expression. It then inserts references to that machine generated unique variable in multiple places in the generated code.

Re: GNU Guile 2.2.0

#119

Earlier quoted context omitted.

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.

Go away, troll.

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

#120

Earlier quoted context omitted.

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.

Go away, troll.

Shame you're being downvoted. Your work inspired me to learn to program with guile and SICK a few years ago. Thanks for everything
Post reply on HN