All library packages are written in IEEE P1178 Scheme and assume that a
configuration file and require.scm package have already been
loaded. Other versions of Scheme can be supported in library packages
as well by using, for example,
(provided? 'r3rs) or
(require 'r3rs) (see Require).
If a procedure defined in a module is called by other procedures in that module, then those procedures should instead call an alias defined in that module:
(define module-name:foo foo)
The module name and ‘:’ should prefix that symbol for the internal name. Do not export internal aliases.
A procedure is exported from a module by putting Schmooz-style
comments (see Schmooz) or ‘;@’ at the beginning of the line
immediately preceding the definition (
defmacro). Modules, exports and other
relevant issues are discussed in Compiling Scheme.
Code submitted for inclusion in SLIB should not duplicate (more than
one) routines already in SLIB files. Use
require to force
those library routines to be used by your package.
Documentation should be provided in Emacs Texinfo format if possible, but documentation must be provided.
Your package will be released sooner with SLIB if you send me a file which tests your code. Please run this test before you send me the code!
Please document your changes. A line or two for ChangeLog is
sufficient for simple fixes or extensions. Look at the format of
ChangeLog to see what information is desired. Please send me
diff files from the latest SLIB distribution (remember to send
diffs of slib.texi and ChangeLog). This makes for
less email traffic and makes it easier for me to integrate when more
than one person is changing a file (this happens a lot with
slib.texi and ‘*.init’ files).
If someone else wrote a package you want to significantly modify, please try to contact the author, who may be working on a new version. This will insure against wasting effort on obsolete versions.
Please do not reformat the source code with your favorite beautifier, make 10 fixes, and send me the resulting source code. I do not have the time to fish through 10000 diffs to find your 10 real fixes.