GNU Guile 2.0.9 released(lists.gnu.org)
lists.gnu.org
GNU Guile 2.0.9 released
http://lists.gnu.org/archive/html/guile-user/2013-04/msg00037.html
5 comments
For me the best feature of the 2.0.9 release is that the documentation builds again! I tried compiling 2.0.7 and got some weird errors from texinfo. I couldn't figure out how to fix them quickly so I just installed without documentation. But 2.0.9 builds fine, including documentation, on my system.
Note: 2.0.8 was a brown paper bag release that was never announced, but
some mirrors may have picked it up. Please do not use it.
I'm a native speaker of English, but I don't understand the idiom of "brown paper bag release". A search shows that it's quite widely attested, however.What does it mean (and what's its origin)?
"A bug in a public software release that is so embarrassing that the author notionally wears a brown paper bag over his head for a while so he won't be recognized on the net. Entered popular usage after the early-1999 release of the first Linux 2.2, which had one. The phrase was used in Linus Torvalds's apology posting."
It refers to the practice of wearing a brown paper bag over your head if you don’t want people to see your face. In this case, the developers are (figuratively) doing this because they are embarrassed over some aspect of version 2.0.8.
Hiding something in plain sight, like alcohol bottle from liquor store, your head, etc...
Does anyone know which parts of R6RS have been implemented so far? The release notes only says "a large subset".
http://www.gnu.org/software/guile/manual/html_node/R6RS-Inco...
racket is the goto if you need r6rs compat though
racket is the goto if you need r6rs compat though
Anybody have comments on Guile vs. V8 for embedding purposes? Performance? API quality?
I can't answer your actual question, but it is recommended to extend rather than embed.
See: http://www.gnu.org/ghm/2011/paris/slides/andy-wingo-guile.pd...
See: http://www.gnu.org/ghm/2011/paris/slides/andy-wingo-guile.pd...
One of my favorite simulators, Meep (http://ab-initio.mit.edu/wiki/index.php/Meep) uses Guile as a control interface. From my experience using Guile presents an unnecessary obstacle to even the most brightest programmers. I frequently see bash scripts writing HERE scheme files because for loops are too difficult in scheme.
> I frequently see bash scripts writing HERE scheme files because for loops are too difficult in scheme.
Why? Loops in general are quite easy to do in Scheme, specially the "for-each" variety.
"The most brightest programmers", if bothered by the lack of a C-like for construct, would be able to fix that, for them and for others, in 5 minutes with a macro.
Scheme is easy and incredibly powerful. Its only issue is that knowledge in other languages does not necessarily translate directly to it. In other words, you have to take some time to learn, which is not a good thing nowadays with the instant gratification culture.
Why? Loops in general are quite easy to do in Scheme, specially the "for-each" variety.
"The most brightest programmers", if bothered by the lack of a C-like for construct, would be able to fix that, for them and for others, in 5 minutes with a macro.
Scheme is easy and incredibly powerful. Its only issue is that knowledge in other languages does not necessarily translate directly to it. In other words, you have to take some time to learn, which is not a good thing nowadays with the instant gratification culture.
Scheme certainly isn't hard, but given a choice between working on their codes or using a dirty hack to get on with their lives. Everybody I know choose to get on with their lives. A python interface would have been better.
>for loops are too difficult
for-each? http://www.gnu.org/software/guile/manual/html_node/SRFI_002d...
or how about a named let?
for-each? http://www.gnu.org/software/guile/manual/html_node/SRFI_002d...
or how about a named let?
(let loop ((i 0))
(if (< i 10)
(display "hello\n")
(loop (1+ i))))
or how about using SRFI 42? (use-modules (srfi srfi-42))
(do-ec (: i 10) (display "hello\n"))
http://srfi.schemers.org/srfi-42/srfi-42.html for(i=0;i<max;i++) {
...
}
in Scheme becomes: (do ((i 0 (+ i 1)))
((>= i max))
...)
In general: for(VAR=INITIALIZER;CONDITION;VAR=INCREMENT)
{
BODY
}
return RETVAL;
becomes: (do ((VAR INITIALIZER INCREMENT))
((not CONDITION) RETVAL)
BODY)
in Scheme.It's a pretty trivial transformation -- not hard at all. I think these "most brightest" programmers just didn't want to learn the freakin' language.
a nicer way to run SICP examples than mit-scheme?
Here's a handy article about Scheme implementations written by the Guile co-maintainer. Look for the heading "The Scheme for SICP".
http://wingolog.org/archives/2013/01/07/an-opinionated-guide...
tl;dr - he recommends the SICP mode for Racket.
http://wingolog.org/archives/2013/01/07/an-opinionated-guide...
tl;dr - he recommends the SICP mode for Racket.