Scheme48Byte-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,
|