This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Documentation lacking
- To: Derry Bryson <dbguile at ta1 dot reno-onramp dot com>
- Subject: Documentation lacking
- From: Eric Moore <moore at chem dot cmu dot edu>
- Date: Sat, 22 Jan 2000 04:02:01 -0500 (EST)
- Cc: "guile at sourceware dot cygnus dot com" <guile at sourceware dot cygnus dot com>
- References: <38895A88.3CF98D87@ta1.reno-onramp.com>
>>>>> "Derry" == Derry Bryson <dbguile@ta1.reno-onramp.com> writes:
Derry> I can find no real documentation; I have looked at the
Derry> documentation on the website, the documentation included with
Derry> the latest release, and the documentation from CVS (guile-doc).
Guile doc is what you want. Specifically,
guile-doc/ref/guile-ref.texi
For where that's inadequate (which as everyone here will admit is too
often the case) I reccomend asking here...
Derry> What is the basis of the guile interpretation of scheme? How
Derry> does it evaluate scheme expressions?
I'm not entirely sure why you need to know this, if you mean the
internal representation and evaluation code.
If you want to know the API for evaluating scheme expressions from C,
which is guile-ref.texi (or guile-ref.info) part IV, where it
describes the gh_ interface.
Derry> I have found documentation on how it stores values, but not
Derry> much else. What is the precision of integer values? Are they
Derry> 32 bit or 30 bit (it would seem 30 bit) (this is quite a basic
Derry> question, what about floats?).
Immediate integer values are 30 bits, but guile has support for
bignums, so can support any number you can reperesent in C. The C
function: SCM gh_long2scm(long n); will convert a long into an SCM
(the C representation of scheme data) which, if n < 2^30 will be an
immediate, otherwise it will be converted into a bignum, gh_scm2long
will convert it back. Floats are represented as C doubles...
-Eric