Scheme48

Byte-code interpreter. The VM is written in a subset of Scheme, which is compiled to C.

http://www.s48.org/

Related: Scheme48:ModuleSystem

Implementing SRFIs: SRFI-1 SRFI-2 SRFI-4 SRFI-6 SRFI-7 SRFI-8 SRFI-9 SRFI-11 SRFI-13 SRFI-14 SRFI-16 SRFI-17 SRFI-19 SRFI-22 SRFI-23 SRFI-25 SRFI-26 SRFI-27 SRFI-28 SRFI-31 SRFI-34 SRFI-35 SRFI-36 SRFI-37 SRFI-39 SRFI-40 SRFI-42 SRFI-43 SRFI-45 SRFI-60 SRFI-61 SRFI-62 SRFI-63 SRFI-66 SRFI-67 SRFI-71 SRFI-74 SRFI-78 SRFI-95


The following list is based on version 0.57 (July 15, 2001)

Command Processor

##

Module system

define-structure, define-structures, define-interface?, define-syntax, open?, access?, begin, files, optimize?, for-syntax?, export, compound-interface?, modify?, subset?, with-prefix?, expose?, hide?, rename, alias?, prefix?

Libraries

char->ascii, ascii->char, ascii-limit, ascii-whitespaces

bitwise-and, bitwise-ior, bitwise-xor, bitwise-not, arithmetic-shift, bit-count

byte-vector?, make-byte-vector, byte-vector, byte-vector-length, byte-vector-ref, byte-vector-set!

cell?, make-cell, cell-ref, cell-set!

make-queue, queue?, queue-empty?, enqueue!, dequeue!, queue-length, queue->list, list->queue, delete-from-queue!

make-array, array, copy-array, array?, array-ref, array-set!, array->vector, array-dimensions, make-shared-array

define-record-type, define-record-discloser, make-record, record, record?, record-length, record-type, record-ref, record-set!, make-record-type, record-type?, record-type-name, record-type-field-names, record-constructor, record-predicate, record-accessor, record-modifier, define-record-resumer

define-enumerated-type?, define-finite-type?

make-table, make-symbol-table, make-string-table, make-integer-table, make-table-maker, make-table-immutable!, table?, table-ref, table-set!, table-walk, default-hash-function, string-hash

make-string-input-port, make-string-output-port, string-output-port-output, limit-output, make-tracking-input-port, make-tracking-output-port, current-row, current-column, fresh-line

make-fluid, fluid, let-fluid, let-fluids

have-system?, system

open-socket, socket-port-number, close-socket, socket-accept, get-host-name, socket-client

iterate, reduce

set, range, ranges, ascii-range, ascii-ranges, negate, intersection, union, subtract, lower-case, upper-case, alphabetic, numeric, alphanumeric, punctuation, graphic, printing, control, blank, whitespace, hexdigit, string-start, string-end, sequence, one-of, text, repeat, ignore-case, use-case, submatch, no-submatches, any-match?, exact-match?, match, match-start, match-end, match-submatches

Mixing Scheme 48 and C

define-exported-binding?, lookup-imported-binding?, shared-binding-ref?, import-definition?, shared-binding??, shared-binding-name?, shared-binding-is-import??, shared-binding-set!?, define-imported-binding?, lookup-exported-binding?, undefine-imported-binding?, undefine-exported-binding?

call-imported-binding?, call-external?, call-external-value?, import-lambda-definition?

dynamic-load?, get-external?, external??, external-name?, external-value?, lookup-external?, lookup-all-externals?, call-external?

Access to POSIX

fork, fork-and-forget, process-id?, process-id=?, process-id->integer, integer->process-id, process-id-exit-status, process-id-terminating-signal, wait-for-child-process, exit, exec, exec-with-environment, exec-file, exec-file-with-environment, exec-with-alias

name->signal, integer->signal, signal?, signal-name, signal-os-number, signal=?, signal-process, make-signal-queue, signal-queue?, signal-queue-monitored-signals, dequeue-signal!, maybe-dequeue-signal!, add-signal-queue-signal!, remove-signal-queue-signal!

get-process-id, get-parent-process-id, get-user-id, get-effective-user-id, set-user-id!, get-group-id, get-effective-group-id, set-group-id!, get-groups, get-login-name, lookup-environment-variable, environment-alist

user-id?, user-id=?, user-id->integer, integer->user-id, group-id?, group-id=?, group-id->integer, integer->group-id, user-id->user-info, name->user-info, user-info?, user-info-name, user-info-id, user-info-group, user-info-home-directory, user-info-shell, group-id->group-info, name->group-info, group-info?, group-info-name, group-info-id, group-info-members,

os-name, os-node-name, os-release-name, os-version-name, machine-name

open-directory-stream, directory-stream?, read-directory-stream, close-directory-stream, list-directory, working-directory, set-working-directory!

open-file, file-options, file-options-on?, set-file-creation-mask!, link, make-directory, make-fifo, unlink, remove-directory, rename, accessible?, access-mode, get-file-info, get-file/link-info, get-port-info?, file-info?, file-info-name, file-info-type, file-type??, file-type-name?, file-type, file-info-device, file-info-inode, file-info-link-count, file-info-size, file-info-owner, file-info-group, file-info-mode, file-info-last-access, file-info-last-access file-info-last-modification, file-info-last-info-change, file-mode, file-mode??, file-mode+?, file-mode-?, file-mode=??, file-mode<=??, file-mode>=??, file-mode->integer?, integer->file-mode?,

make-time, current-time, time?, time-seconds,

time=?, time<?, time<=?, time>?, time>=?, time->string,

open-pipe?, fd-port??, port->fd?, remap-file-descriptors?, dup, dup-switching-mode?, dup2?, close-all-but?, close-on-exec??, set-close-on-exec?!?, i/o-flags?, set-i/o-flags!?, port-is-a-terminal?, port-terminal-name,

make-regexp?, regexp-option?, regexp?, regexp-match, match??, match-start, match-end,