Live data from Hacker News

GNU Guile 2.2.0

gnu.org

101–110 of 149 posts

Re: GNU Guile 2.2.0

#101

Earlier quoted context omitted.

I mean to say lisp family. so Fortran counts as part of C family.

C is part of the Algol family. Fortran was/is syntactically and semantically quite different. Algol was almost contemporaneous with Fortran and, although did learn from Fortran, was, at least partly, a reaction to its perceived flaws.

Well, contemporary Fortran is probably part of Algol family too, since newer versions of Fortran (at least 77 onwards) incorporate the block structured programming concepts from Algol.

The "family tree" analogy works imperfectly for programming languages since it is more of a directed cyclic graph than a tree structure – Fortran influenced Algol and then Algol in turn influenced Fortran.

Re: GNU Guile 2.2.0

#102
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.

Actually, I just have a systemd unit launching the Emacs server for me. So starting an Emacs frame takes 0.2-0.3 s at best :-)

So it's stopped being an issue years ago!

Re: GNU Guile 2.2.0

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

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…

What does "cf." mean?

Re: GNU Guile 2.2.0

#104

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…

What does "cf." mean?

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

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

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…

Wait...I thought Guile was slow?

Re: GNU Guile 2.2.0

#106
post #20

For those excited about the "Guile's Elisp implementation" in this release. The last major Guile release was 6 years ago, and much of this GuileEmacs work is still highly WIP and from my searching on emacs-devel seems to have stalled in 2015 for lack of volunteers. Just because Guile implements Elisp the language doesn't mean there isn't a ton of work to be done on Emacs itself to swap out its native VM for Guile, an…

Given that Guile was basically launched by an RMS FUD attack on Tcl more than 20 years ago, 6 years seems like a rounding error. http://vanderburg.org/old_pages/Tcl/war/

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 less diplomatic and less friendly way to say that Tcl don't have the same purpose and use case as languages like c and c++? Any turning complete language can of course be used for anything, but looking at how something is used often give a good hint on where its strengths are.

Re: GNU Guile 2.2.0

#107
post #34

Earlier quoted context omitted.

Technical question: What are .lz files? Is this LZMA compression? If so, why not using the more popular .xz format?

Here's why: http://www.nongnu.org/lzip/xz_inadequate.html tl;dr: Because apparently some people believe that not only can they afford to exclude some users by avoiding zip's, but they must also bike-shed some more.

That seems like a well thought out article

Re: GNU Guile 2.2.0

#108
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. The macro potentially stands for any and every possible way in which its semantics can be achieved.

> 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 to meet the specification.

I gave if as an example; it was not intended to be an example of a macro which has to go out of its way to ensure once-only evaluation.

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.

In documenting a library of C macros, we cannot specify a strict evaluation order without seriously constraining which of those macros are actually implementable.

Re: GNU Guile 2.2.0

#109
post #15

For me this is the most exciting part: Complete Emacs-compatible Elisp implementation Thanks to the work of Robin 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. This means we can finally have a proper GuileEmacs!

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.

Re: GNU Guile 2.2.0

#110
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.

A lot of people seem to use it with tmux or similar, where it get's started a lot more often, at least with no server running.
Post reply on HN