GNU Info

Info Node: (slib.info)Coding Guidelines

(slib.info)Coding Guidelines


Next: Copyrights Prev: Porting Up: About SLIB
Enter node , (file) or (file)node

Coding Guidelines
=================

  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? 'rev3-report)' or `(require
'rev3-report)' (Note: Require).

  The module name and `:' should prefix each symbol defined in the
package.  Definitions for external use should then be exported by having
`(define foo module-name:foo)'.

  Code submitted for inclusion in SLIB should not duplicate routines
already in SLIB files.  Use `require' to force those library routines
to be used by your package.  Care should be taken that there are no
circularities in the `require's and `load's between the library
packages.

  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!

Modifications
-------------

  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 `diff's 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.


automatically generated by info2www version 1.2.2.9