SLIB

Portable Scheme library maintained by Aubrey Jaffer.

http://swiss.csail.mit.edu/~jaffer/SLIB

Implementing SRFIs: SRFI-0 SRFI-1 SRFI-2 SRFI-8 SRFI-9 SRFI-47 SRFI-59 SRFI-60 SRFI-61 SRFI-63 SRFI-96


This list is based on SLIB version 3a3, released on 2006-02-13.

The library system

provided?, feature-eval?, provide

*catalog*?, require, require-if?, slib:in-catalog??

catalog:read?

file->requires?, feature->requires?, feature->requires*?, file->requires*?, file->loads?, load->path?, file->definitions?, file->exports?, feature->export-alist?, feature->exports?,

top-refs?, top-refs<-file?, exports<-info-index?

vet-slib?

Universal SLIB Procedures

with-load-pathname?

char-code-limit?, most-positive-fixnum, slib:tab?, slib:form-feed?, software-type, slib-report-version?, slib:report?

file-exists?, delete-file, open-file, port?, close-port, call-with-open-ports?, tmpnam?, current-error-port, force-output, output-port-width?, output-port-height?

slib:load-source?, slib:load-compiled?, slib:load?, slib:eval?, slib-eval-load?, slib:warn?, slib:error?, slib:exit?, browse-url?

identity, expt

make-exchanger?

t, nil, last-pair

Scheme syntax extension packages

gentemp, defmacro:eval?, defmacro:load?, defmacro??, macroexpand-1, macroexpand, defmacro

defmacro:expand*?

macro:expand?, macro:eval?, macro:load?

define-syntax, syntax-rules

macwork:expand?, macwork:eval?, macwork:load?

synclo:expand?, synclo:eval?, synclo:load?

transformer?, make-syntactic-closure?, capture-syntactic-environment?

identifier?, identifier=??

syncase:expand?, syncase:eval?, syncase:load?

define-structure

fluid-let

define-operation?, define-predicate?, object?, object-with-ancestors?, operate-as?, print, size?

setter, set, add-setter?, remove-setter-for?, define-access-operation?

Textual conversion packages

Precedence Parsing

*syn-defs*?, *syn-ignore-whitespace*?, prec:define-grammar?, prec:parse?, tok:char-group?, tok:decimal-digits?, tok:upper-case?, tok:lower-case?, tok:whitespaces?, tok:bump-column? prec:make-nud?, prec:make-led?, prec:delim?, prec:nofix?, prec:prefix?, prec:infix?, prec:nary?, prec:postfix?, prec:prestfix?, prec:commentfix?, prec:matchfix?, prec:inmatchfix?

Format

format

Standard Formatted I/O

stdin?, stdout?, stderr?, printf, fprintf, sprintf, scanf-read-list?, scanf?, fscanf?, sscanf?

Program and Arguments

*argv*, *optind*?, *optarg*?, getopt?, getopt--?, read-command?, read-options-file?, make-paramete-list?, paramete-list-ref?, remove-parameter?, adjoin-parameters!?, parameter-list-expand?, fill-empty-parameters?, check-parameters?, parameter-list->arglist?, getopt->parameter-list?, getopt->arglist?, filename:match???, filename-match-ci???, filename:substitute???, filename:substitute-ci???, replace-suffix?, call-with-tmpnam?, batch:initialize!?, *operating-system*?, batch:call-with-output-script?, batch:command?, batch:try-command?, batch:try-chopped-command?, batch:run-script?, batch:comment?, batch:line->file?, batch:delete-file?, batch:rename-file?, truncate-up-to?, string-join, must-be-first?, must-be-last?, os->batch-dialect?

HTML

html:atval?, html:plain?, html:meta?, html:http-equiv?, html:meta-refresh?, html:head?, html:body?, html:pre?, html:comment?

HTML Forms

html:form?, html:hidden?, html:checkbox?, html:text?, html:text-area?, html:select?, html:buttons?, form:submit?, form:image?, form:reset?, form:element?, form:delimited?, html:delimited-list?, get-foreign-choices?, command->p-specs?

HTML Tables

html:table?, html:caption?, html:heading?, html:href-heading?, html:linked-row-converter?, table-name->filename?, table->linked-html?, table->linked-page?

command:modify-table?, command:make-editable-table, html:editable-row-converter?

db->html-files?, db->html-directory?, db->netscape?

HTTP and CGI

http:header?, http:content?, *http:byline*?, http:error-page?, http:forwarding-page?, http:serve-query?, cgi:serve-query?, make-query-alist-command-server?

Parsing HTML

html-for-each?, html:read-title?, html-fields?

URI

make-uri?, uri:make-path?, html:anchor?, html:link?, html:base?, html:isindex?, uti->tree?, uri:split-fields?, uri:decode-query?, uric:encode?, uric:decode, uri:path->keys?

path->uri?, absolute-uri??, absolute-path?, null-directory??, glob-pattern??, parse-ftp-address?

Printing Scheme

generic-write?, object->string?, object->limited-string?, pretty-print, pretty-print->string?, pprint-file?, pprint-filter-file?

Time and Date

current-time, difftime?, offset-time?, time-zone?, tz:params?, tz:std-offset?, tzset?, *timezone*?, daylight??, tzname?, gmtime?, localtime?, gmktime?, mktime?, asctime?, gtime?, ctime?, get-decoded-time?, get-universal-time?, decode-universal-time?, encode-universal-time?, time:gmtime?, tiime:invert?, time:split?

NCBI-DNA

ncbi:read-dna-sequence?, ncbi:read-file?, mrna<-cdna?, codons<-cdna?, protein<-cdna?, p<-cdna?, cdna:base-count?, cdna:report-base-count?

Schmooz

schmooz?

Mathematical Packages

Bit Twiddling

logand, bitwise-and, logior, bitwise-ior, logxor, bitwise-xor, lognot, bitwise-not, bitwise-if, bitwise-merge?, logtest, any-bits-set??, logcount, bit-count, integer-length, log2-binary-factors?, first-set-bit?, logbit?, bit-set??, copy-bit, bit-field, copy-bit-field, ash, arithmetic-shift, rotate-bit-field?, reverse-bit-field?, integer->list?, list->integer?, booleand->integer?

Modular Arithmetic

mod, rem, extended-euclid?, symmetric:modulus?, modulus->integer?, modular:normalize?, modular:invertable??, modular:invert?, modular:negate?, modular:+?, modular:-?, modular:*?, modular:expt?

Prime Numbers

prime:prngs?, jacobi-symbol?, prime:trials?, prime??, primes<?, primes>?, factor?

Random Numbers

random, *random-state*?, copy-random-state?, seed->random-state?, make-random-state?, random:uniform?, random:exp?, random:normal?, random:normal-vector!?, random:hollow-sphere!?, random:solid-sphere?

Fast Fourier Transform

fft?, fft-1?

Cyclic Checksum

crc-32-polynomial?, crc-ccitt-polynomial?, crc-16-polynomial?, crc-12-polynomial, crc-10-polynomial?, crc-8-polynomial?, atm-hec-polynomial?, dowcrc-polynomial?, usb-token-polynomial?, crc:make-table?, cksum?, crc16?, crc5?

Graphing

charplot:dimensions?, plot?, histograph?, create-postscript-graph?, whole-page?, column-range?, pad-range?, snap-range?, combine-ranges?, setup-plot?, plot-column?, in-graphic-context?, set-color?, set-font?, set-line-width?, set-line-dash?, set-glyphsize?, partition-page?, plotrect?, graphrect?, fill-rect?, outline-rect?, clip-to-rect?, title-top?, title-bottom?, topedge?, bottomedge?, leftedge?, rightedge?, set-margin-templates?, rule-vertical?, rule-horizontal?, y-axis?, x-axis?, grid-verticals?, grid-horizontals?, graph:dimensions?, x1?

Solid Modeling

vrml?, vrml-append?, vrml-to-file?, world:info?, scene:panorama?, scene:sphere?, scene:sky-and-dirt?, scene:sky-and-grass?, scene:sun?, scene:overcast?, scene:viewpoint?, scene:viewpoints?, light:ambient?, light:directional?, light:beam?, light:point?, light:spot?, solid:box?, solid:sylinder?, solid:disk?, solid:cone?, solid:pyramid?, solid:sphere?, solid:ellipsoid?, solid:polyline?, solid:basrelief?, solid:text?, solid:color?, solid:texture?, solid:font?, solid:center-row-of?, solid:center-array-of?, solid:center-pile-of?, solid:arrow?, solid:translation?, solid:scale?, solid:rotation?

Color

color??, make-color?, color-space?, color-precision?, color-white-point?, convet-color?, color->string?, string->color?, D65?, D50?, ciexyz->color?, color:ciexyz?, color->ciexyz?, rgb709->color?, color:rgb709?, color->rgb709?, l*a*b*->color?, color:l*a*b*?, color->l*a*b*?, l*u*v*->color?, color:l*u*v*?, color->l*u*v*?, l*c*h*->color?, color:l*c*h*?, color->l*c*h*?, srgb->color?, color:srgb?, color->srgb?, e-srgb->color?, color:e-srgb?, color->e-srgb?, read-cie-illuminant?, read-normalized-illuminant?, illuminant-map?, illuminat-map->XYZ?, spectrum->XYZ?, spectrum->chromaticity?, wavelength->XYZ?, wavelength->chromaticity?, blackbody-spectrum?, temperature->XYZ?, temperature->chromaticity?, XYZ->chromaticity?, chromaticity->CIEXYZ?, chromaticity->whitepoint?, XYZ->xyY?, xyY->XYZ?, xyY:normalize-colors?, L*a*b*:DE*?, CIE:DE*?, L*C*h:DE94?, CIE:DE*94?, CMC:DE*?, CIEXYZ:D65?, CIEXYZ:D50?, CIEXYZ:A?, CIEXYZ:B?, CIEXYZ:C?, CIEXYZ:E?, color:linear-transform?, CIEXYZ->RGB709?, RGB709->CIEXYZ?, CIEXYZ->L*u*v*?, CIEXYZ->L*u*v*?, L*u*v*->CIEXYZ?, L*u*v*->CIEXYZ?, CIEXYZ->L*a*b*?, CIEXYZ->L*a*b*?, L*a*b*->CIEXYZ?, L*a*b*->CIEXYZ?, L*a*b*->L*C*h?, L*C*h->L*a*b*?, CIEXYZ->sRGB?, sRGB->CIEXYZ?, CIEXYZ->xRGB?, xRGB->CIEXYZ?, sRGB->xRGB?, xRGB->sRGB?, CIEXYZ->e-sRGB?, e-sRGB->CIEXYZ?, sRGB->e-sRGB, e-sRGB->sRGB?, e-sRGB->e-sRGB? grey?, color-name:canonicalize?, color-name->color?, color-dictionaries->lookup?, color-dictionary?, load-color-dictionary?, file->color-dictionary?, url->color-dictionary?, make-slib-color-name-db?, saturate?, resense?, solar-hour?, solar-declination?, solar-polar?, sunlight-spectrum?, sunright-chromaticity?, zenith-xyy?, overcast-sky-color-xyy?, clear-sky-color-xyy?, sky-color-xyy?

Root Finding

integer-sqrt, newton:find-root?, laguerre:find-root?, laguerre:find-polynomial-root?, secant:find-root?, secant:find-bracketed-root?

Minimizing

golden-section-search?

The Limit

limit?

Commutative Rings

*ruleset*?, make-ruleset?, combined-rulesets?, distribute*?, distribute/?, cring:define-rule?

Matrix Algebra

matrix->lists?, matrix->array?, determinant?, transpose?, matrix:product?, matrix:inverse?

Database Packages

Relational Database

create-database?, open-database!?, open-database?, write-database?, sync-database?, solidify-database?, close-database?, mdbm:report?, open-table?, open-table!?, define-domains?, add-domain?, define-tables?, list-table-definition?, interpolate-from-table?, wrap-command-interface?, add-command-tables?, define-*commands*?, open-command-database?, open-command-database!?, make-command-server?, within-database?, define-command?, define-table?, add-macro-support?, define-macro, browse?

Relational Infrastructure

*basetable-implementations*?, make-relational-system?

Weight-Balanced Trees

make-wt-tree-type?, number-wt-type?, string-wt-type?, make-wt-tree?, singleton-wt-tree?, alist->wt-tree?, wt-tree/empty??, wt-tree/size?, wt-tree/add?, wt-tree/add!?, wt-tree/member??, wt-tree/lookup?, wt-tree/delete?, wt-tree/delete!?, wt-tree/split<?, wt-tree/split>?, wt-tree/union?, wt-tree/intersection?, wt-tree/difference?, wt-tree/subset??, wt-tree/set-equal??, wt-tree/fold?, wt-tree/for-each?, wt-tree/index?, wt-tree/index-datum?, wt-tree/index-pair?, wt-tree/rank?, wt-tree/min?, wt-tree-min-datum?, wt-tree/min-pair?, wt-tree/delete-min?, wt-tree/delete-min!?

Other Packages

Data Structures

subarray?, subarray0?, array-trim?, array-map!?, array-map?, array-for-each?, array-indexes?, array-index-map!?, array:copy!?, interpolate-array-ref?, resample-array!?

predicate->asso?, alist-inquirer?, alist-associator?, alist-remover?, alist-map?, alist-for-each?

byte-ref?, byte-set!?, make-bytes?, bytes-length?, bytes?, bytes->list?, list->bytes?, bytes-copy?, bytes-reverse!?, bytes-reverse?, write-byte, read-byte, read-bytes?, write-bytes?, substring-read!?, substring-write?

bytes->integer?, integer->bytes?, bytes->ieee-float?, bytes->ieee-double?, ieee-fload->bytes?, ieee-double->bytes?, integer-byte-collate!?, integer-byte-collate?, ieee-byte-collate!?, ieee-byte-decollate!?, ieee-byte-collate?, ieee-byte-decollate?

matfile:read?, matfile:load?

pnm:type-dimensions?, pnm:image-file->array?, pnm:array-write?

collection??, map-elts?, do-elts?, map-keys?, do-keys?, for-each-key?, for-each-elt?, reduce, any??, every??, empty??, size?, Setter?

make-dynamic?, dyanamic??, dynamic-ref?, dynamic-set!?, call-with-dynamic-binding?

predicate->hash?, make-hash-table, predicate->hash-asso?, hash-inquirer?, hash-associator?, hash-remover?, hash-map?, hash-for-each?, hash-rehasher?

make-object?, object??, make-generic-method?, make-generic-predicate?, make-method?, make-predicate!?, unmake-method?, get-method?

make-heap?, heap-length?, heap-insert?, heap-extract-max!?

make-queue, queue?, queue-empty?, queue-push!, enqueue!, dequeue!, queue-pop!, dequeue-all!, queue-front, queue-rear

make-record-type, record-constructor, record-predicate, record-accessor, record-modifier

Sorting and Searching

make-list, list*, copy-list?, adjoin?, union, intersection, set-difference?, subset??, member-if?, some?, every, notany?, notevery?, list-of???, find-if?, remove, remove-if?, remove-if-not?, has-duplicates?, remove-duplicates?, position?, reduce, reduce-init?, last, butlast, nthcdr?, butnthcdr?, nconc, nreverse?, delete, delete-if?, delete-if-not?, and??, or??, atom?

subst, substq, substv, copy-tree,

chap:string<??, chap:string>??, chap:string<=??, chap:string>=?, chap:next-string?

sorted?, merge, merge!, sort, sort!

tsort?, topological-sort?

hashq?, hashv?, hash

integer->hilbert-coordinates?, integer->gray-code?, gray-code->integer?, gray-code<??, gray-code>??, gray-code<=??, gray-code>=??

delaminate-list?

natural-peano-coordinates?, peano-corrdinates->natural?, integer->peano-coordinates?, peadno-coordinates->integer?

make-sierpinski-indexer?

soundex?

string-index, string-index-ci?, string-reverse-index?, string-reverse-index-ci?, substring??, substring-ci??, find-string-from-port??, string-subst?, count-newlines?

diff:longest-common-subsequence?, diff:edits?, diff:edit-length?

Procedures

type-of?, coerce?

string-upcase, string-downcase, string-captalize?, string-upcase!, string-downcase!, string-titlecase!, string-ci->symbol?, symbol-append, StudlyCapsExpand?

call-with-output-string, call-with-input-string

read-line, read-line!?, write-line, system->line?

add-process?, process:schedule!?, kill-porcess!?

si:conversion-factor?

with-input-from-file, with-output-to-file

transcript-on, transcript-off

substring-move-left?, substring-move-right!, substring-fill!, string-null?, append!, 1+, -1+, <?, <=?, =?, >?, >=?

list-tail, string-copy, string-fill!, vector-fill!

/, -

apply

rationalize, find-ratio?, find-ratio-between?

make-promize?, force, delay

dynamic-wind

eval, scheme-report-environment, null-environment, interaction-environment

values, call-with-values

abort

repl:top-level?, repl:quit?

qp?, qpn?, qpr?, *qp-width*?

trace-all?, track-all?, stack-all?, break-all?

init-debug?, breakpoint?, continue?, break, unbreak?, breakf?

debug:max-count?, print-call-stack?, trace, track?, stack?, untrace, untrack?, unstack?, tracef?, trackf?, stackf?, untracef?

getenv, system

current-directory, make-directory, directory-for-each?

file-lock-owner?, file-lock!?, file-unlock!?

emacs:backup-name?, transact-file-replacement?

user-email-address?

cvs-files?, cvs-directories?, cvs-root?, cvs-repository?, cvs-set-root!?, cvs-set-roots!?, cvs-vet?