slib-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Slib-discuss] Proper way to add one's own "impcat" to Slib


From: Aubrey Jaffer
Subject: Re: [Slib-discuss] Proper way to add one's own "impcat" to Slib
Date: Thu, 11 Dec 2008 18:26:24 -0500 (EST)

 | From: Kris De Volder <address@hidden>
 | Date: Thu, 11 Dec 2008 13:30:52 -0800
 | 
 | I figured out how to set it up so that slib will let me generate a
 | catalog of feature implementations specific to my Scheme
 | implementation.
 | 
 | It properly regenerates the implcat when it is generating the one
 | for slib itself. There is a kind of hook in mkimpcat.scm
 | 
 | line 249:
 |   (load-if-exists (in-vicinity (implementation-vicinity) "mkimpcat")))
 | 
 | So I've "plugged in" to that hook by placing a mkimpcat file inside
 | of my implementation vicinity.
 | 
 | However, it appears that although the impcat gets generated OK. It
 | is not loaded or consulted in any way by the slib provided
 | implementation of require.
 | 
 | I've done a text search for "impcat" and "implcat" but not found any
 | hooks/code that actually loads the imp(l)cat.

"mkimpcat.scm" should produce a file named "implcat".  The CATCAT
procedure at the end of "slib/mklibcat.scm" copies "implcat" onto the
end of "slib/slibcat".

"mkimpcat.scm" should have entries only for those features which don't
use the SLIB source.

 | The most relevant piece of code that I've found is the not exported
 | procedure catalog:get in "require.scm", but it has no code for
 | loading the implcat file.

CATALOG:GET loads "slib/slibcat", which includes the content of
"implcat".

 | PS 1: it seems there are some assumptions that the file should be
 | called "implcat", for example in this code:
 | 
 | line 264 in "mklibcat.scm":
 |      (catcat (implementation-vicinity) "implcat" "implementation")
 | 
 | The naming is a little confusing: the file mkimpcat.scm actually is
 | supposed to generate an implcat file rather than impcat as its name
 | seems to suggests.

Sorry about that.  These Scheme filenames were held to 8+3 characters
for MS-DOS.

 | PS 2: I gather that most implementations will simply include their
 | own implementation of "require.scm", which makes this "problem" go
 | away.

Generating "implcat" as described above will fix it.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]