This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: message primitive


Mikael Djurfeldt writes:
 > P.S. I should add that I'm a bit reluctant to this whole thing.  It
 > seems to me that one wants to avoid redundancy.  If there's a
 > problem that the current format loads a lot of scheme code, then
 > perhaps the right solution is to implement it in C?
 > 
 > If it's too heavyweight, then one might be able to strip away
 > some of the features, provide a simple format in libguile and
 > make a more general version of `format' available in a
 > library?

I fought the urge to respond, but the urge won.  Apologize in advance for the formatting.

Intentionally provocative question.  Given that a perfectly good Scheme format module exists, why bother to provide similar functionality from the C world?  Even if the current format module is too large (not perfectly good?), why not provide a stripped down format module written in scheme? 

Personally, if I hafta read code, I'd rather read Scheme code (in my experience, 2/3 shorter and idiomatic) than C code.  Until recently, this was *especially* true for guile.

Furthermore, if you require it to be in C, why not use a setup similar to libreadline?  Echoing a previous sentiment of Mikael's, shouldn't it be a goal to keep the core interpreter as uncluttered as possible? 

===================off topic====================

As a relatively new reader to Guile's C source, I've been struck by the large number of primitive-procedures in guile.  

[knotwell@knotwell libguile]$ grep GUILE_PROC *.c | wc -l
    614
[knotwell@knotwell libguile]$ pwd
/home/knotwell/newguile/guile-core/libguile
[knotwell@knotwell libguile]$ 

As a point of discussion, this can be contrasted with with Bruno Haible's CLISP.  According to his webpage, CLISP has "594 library functions, 542 of them written in C".

Ducking for cover.

--Brad


--== Sent via Deja.com http://www.deja.com/ ==--
Share what you know. Learn what you don't.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]