[scheme-catalog updates atsmyles@earthlink.net**20100813210636] hunk ./docs/scheme-catalog.html 64 + <feature identifier> identifier hunk ./docs/scheme-catalog.html 66 - <url> --> See RFC 3986 + <url> --> See RFC 3986 hunk ./docs/scheme-catalog.html 72 - <name> --> Symbol + <name> --> symbol hunk ./docs/scheme-catalog.html 74 - <value> --> Datum + <value> --> datum hunk ./docs/scheme-catalog.html 76 -
Let's start with this example
- -- (catalog - (library (rnrs io ports) - (versions - ((6) - (requires gambit-binary) - "file:/Users/asmyles8440/.gambit/lib/rnrs-io-ports-v-6.o1" - (@ (dynlib #t))) - ((6) - "file:///Users/asmyles8440/Documents/projects/r6gambit/libs/rnrs/io.scm#0"))) - (library (rnrs io simple) - (versions - ((6) - (requires gambit-binary) - "file:/Users/asmyles8440/.gambit/lib/rnrs-io-simple-v-6.o1" - (@ (dynlib #t))) - ((6) - "file:///Users/asmyles8440/Documents/projects/r6gambit/libs/rnrs/io.scm#1")))) -- -All scheme catalogs start with the following form: + +
All scheme catalogs start with the following form:
hunk ./docs/scheme-catalog.html 83 -
hunk ./docs/scheme-catalog.html 87 - +
hunk ./docs/scheme-catalog.html 95 -(versions ( requirements uri (@ (name value) ...)) ...)
+The versions of the library are in the following form:
+ +(versions (<version-number> <requires> url (@ (name value) ...)) ...)
hunk ./docs/scheme-catalog.html 106
- (requires <requirement-clause>+)
+ Requirment clauses are an additional discriminator for deciding which version to use. Besides the standard R6RS descriminators of library name and version number, these additional requirements can be used for determining which source code file to use for the same version based on what features are available to the implementation. +
hunk ./docs/scheme-catalog.html 122 - +