5 ms·
Anybody have comments on Guile vs. V8 for embedding purposes? Performance? API quality?
by 13b9f227ecf0 14y ago
Anybody have comments on Guile vs. V8 for embedding purposes? Performance? API quality?
- davexunit 14y agoI 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.pdf http://www.gnu.org/ghm/2011/paris/slides/andy-wingo-guile.pd...
- frozenport 14y agoOne of my favorite simulators, Meep (http://ab-initio.mit.edu/wiki/index.php/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.
- outworlder 14y ago> 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.
- frozenport 14y agoScheme 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.
- davexunit 14y ago>for loops are too difficult for-each? http://www.gnu.org/software/guile/manual/html_node/SRFI_002d1-Fold-and-Map.html#index-for_002deach-1 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 http://srfi.schemers.org/srfi-42/srfi-42.html
- bitwize 14y agofor(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.