On 07/11/2010 06:47 PM, Arno Waschk wrote:
okay, what are arg1 and arg2, and what is the type of result beyond
being called "SCM"?
An ID for a Scheme entity. This is a fundamental concept in languages
such as Scheme, Smalltalk, Self of Java. The value of the SCM itself is
completely opaque to the client of the VM. It can be an index into a
table, or it can be a direct address. The entity that it refers to, can
in turn be any Scheme object: it can be a pair, or an atom, or the
entity may even be immediately encoded in the SCM itself (for example,
in Guile, #f is encoded in a special SCM).
If you are familiar with JNI, then you can think of SCM as something
similar to "jobject".
In Smalltalk, the equivalent concept is "OOP".
If you want to understand the communication between the Scheme and C++
code, the best reading explaining the underlying concepts are books on
implementation of functional programming languages. But any VM book
will do just as well (I started from Goldberg&Robson's Smalltalk Blue
Book back in 1994; Simon Jones is more directly applicable to Scheme).
Boris
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel