I see a lot of ## included in library file, such as ##define-macro, ##include, what does that mean? I can't find any explanation in documents.
thanks!
Howard _________________________________________________________________ Discover the new Windows Vista http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QB...
Afficher les réponses par date
In standard R[45]RS scheme (I don't know about R6RS), a programmer is not allowed to begin an identifier with ##; so identifiers beginning with ## are used internally, as a Gambit extension, to name procedures that the user is not supposed to redefine.
So the definition of cddr might be
(define (##cddr x) (##cdr (##cdr x))) (define (cddr x) (##cddr x))
so while the user can redefine cdr, that redefinition won't affect the definition of cddr, since cddr depends on ##cdr, not cdr.
Brad
On Dec 3, 2007, at 2:49 AM, Li Xiangyang wrote:
I see a lot of ## included in library file, such as ##define-macro, ##include, what does that mean? I can't find any explanation in documents.
thanks!
Howard
Discover the new Windows Vista Learn more! _______________________________________________ Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
I've now created a page in the wiki which explains everything I know about namespace handling.
See http://www.iro.umontreal.ca/~gambit/wiki/index.php/Namespaces
(It's also being liked by http://www.iro.umontreal.ca/~gambit/wiki/index.php/Internal_Documentation now.)
Christian.
Li Xiangyang wrote:
I see a lot of ## included in library file, such as ##define-macro, ##include, what does that mean? I can't find any explanation in documents.
thanks!
Howard