Wraith Scheme Dictionary <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">

Wraith Scheme Dictionary

Copyright © 2007, 2008, 2009 Jay Reynolds Freeman, all rights reserved.
Personal Web Site: http://web.mac.com/Jay_Reynolds_Freeman
EMail: Jay_Reynolds_Freeman@mac.com.

Wraith Face

This document has two parts:

The best ways to locate things in this document are probably either to scroll haphazardly, or to use your HTML browser's "find" command to search for the term, concept or identifier that you are interested in, or for some other likely word.



Command Summary:

This portion of the document is a command summary of the procedures, special forms, macros, and the like, that are provided as part of Wraith Scheme. It includes all of the standard Scheme stuff that Wraith Scheme provides, and also includes many other items that I have provided as enhancements.

The command summary is a supplement to the "R5 report", but definitely not a substitute for it.

The descriptions herein are specific to Wraith Scheme. Wraith Scheme generally follows the "R5" Scheme report, but there are many places in that report where some behavior of Scheme is left undefined, or is allowed to be implementation-dependent. In those cases, this document describes what Wraith Scheme does. For example, the R5 report often does not define the return values of procedures that are called for side effects: Wraith Scheme generally returns #t from such procedures, and the descriptions herein so indicate.

The command summary is arranged alphabetically, with a few exceptions. First, procedures that are enhancements -- that is, they are not part of R5 Scheme -- are listed at the very end. Their identifiers all begin with either "e::" or "c::". The procedures that begin with "e::" come before the procedures that begin with "c::".

Second, a few closely-related groups of procedures are presented together. They are:

Wraith Scheme does contain procedures and such that are not documented here; I have omitted many things used internally by the compiler, macro-generator, and so on, because they are complicated and more than likely to change in subsequent releases. I do not personally regard them as secrets. If you find something undocumented that you would like to know more about, send me EMail and ask, but don't count on any undocumented feature continuing to exist in future releases of Wraith Scheme.

General notes about the command summary entries:

And now, on to the command summary itself ...

*

+

-

/

<

<=

=

>

>***<
>***<-1
>***<-2
>***<-3
... (one for each kitten)

>**<
>**<-1
>**<-2
>**<-3
... (one for each kitten)

>*<
>*<-1
>*<-2
>*<-3
... (one for each kitten)

>+++<
>+++<-1
>+++<-2
>+++<-3
... (one for each kitten)

>++<
>++<-1
>++<-2
>++<-3
... (one for each kitten)

>+<
>+<-1
>+<-2
>+<-3
... (one for each kitten)

>-<
>-<-1
>-<-2
>-<-3
... (one for each kitten)

>=

abs

acos

and

append

apply

asin

assoc

assq

assv

atan

begin

boolean?

call-with-current-continuation

call-with-input-file

call-with-output-file

call-with-values

car

cdr

caar        cadr        cdar        cddr       

caaar       caadr       cadar       caddr      

cdaar       cdadr       cddar       cdddr      

caaaar      caaadr      caadar      caaddr     

cadaar      cadadr      caddar      cadddr     

cdaaar      cdaadr      cdadar      cdaddr     

cddaar      cddadr      cdddar      cddddr     

case

ceiling

char->integer

char-alphabetic?

char-ci<=?

char-ci<?

char-ci=?

char-ci>=?

char-ci>?

char-downcase

char-lower-case?

char-numeric?

char-ready?

char-upcase

char-upper-case?

char-whitespace?

char<=?

char<?

char=?

char>=?

char>?

char?

close-input-port

close-output-port

complex?

cond

cons

cos

current-input-port

current-output-port

define

define-syntax

delay

display

do

dynamic-wind

else

eof-object?

eq?

equal?

eqv?

eval

even?

exact->inexact

exact?

exp

expt

floor

for-each

force

gcd

if

inexact->exact

inexact?

input-port?

integer->char

integer?

interaction-environment

lambda

lcm

length

let

let-syntax

let*

letrec

letrec-syntax

list

list->string

list->vector

list-ref

list-tail

list?

load

log

make-string

make-vector

map

max

member

memq

memv

min

modulo

negative?

newline

not

null-environment

null?

number->string

number?

odd?

open-input-file

open-output-file

or

output-port?

pair?

peek-char

port?

positive?

procedure?

quasiquote

quote

quotient

rational?

read

read-char

real?

remainder

reverse

round

scheme-report-environment

set!

set-car!

set-cdr!

sin

sqrt

string->list

string->number

string->symbol

string-append

string-ci<=?

string-ci<?

string-ci=?

string-ci>=?

string-ci>?

string-copy

string-fill!

string-length

string-ref

string-set!

string<=?

string<?

string=?

string>=?

string>?

string?

substring

symbol->string

symbol?

syntax-rules

tan

transcript-off

transcript-on

truncate

unquote

unquote-splicing

values

vector

vector->list

vector-fill!

vector-length

vector-ref

vector-set!

vector?

with-input-from-file

with-output-to-file

write

write-char

zero?



Enhancement Procedures:
For General Use

e::bit-and    e::bit-not    e::bit-or

e::bit-shift-left    e::bit-shift-right-arithmetic

e::bit-shift-right-logical    e::bit-xor

e::block-symbol-binding

e::bound-instance?

e::clear-compiler-on!

e::clear-permanent!

e::clear-show-full-precision!

e::closed-port?

e::compiler-on?

e::compile-form

e::cons-with-continuation

e::current-directory

e::debug

e::deep-copy

e::define-no-compile

e::error

e::error-port

e::exit

e::expand-macro

e::expand-macros-recursively

e::file-exists?

e::fixnum?

e::float?

e::forced?

e::full-gc

e::gensym

e::get-tag

e::inf?

e::inspect

e::inspect-world

e::kitten-number

e::list-print-depth

e::list-print-length

e::set-list-print-depth!

e::set-list-print-length!

e::set-vector-print-depth!

e::set-vector-print-length!

e::vector-print-depth

e::vector-print-length

e::load-world!

e::logic-constant?

e::long-float?

e::macro

e::macro-body

e::macro?

e::momcat?

e::money->string

e::multiple-values?

e::nan?

e::ninety-percent-used?

e::not-null?

e::number-of-kittens

e::number->string-with-n-decimals

e::original-cwcc

e::permanent?

e::process-id

e::program-directory

e::promise?

e::random

e::reset

e::room

e::save-world

e::set-compiler-on!

e::set-current-directory!

e::set-input-port!

e::set-permanent!

e::set-show-full-precision!

e::set-tag!

e::short-float?

e::show-dynamic-environment-list

e::show-environment

e::show-environment-list

e::show-full-precision?

e::show-kittens

e::show-locks

e::show-memory

e::show-room

e::srandom

e::stack-depth

e::startup-directory

e::store-size

e::substitute-new-permanent-symbols

e::system

e::time

e::tell-kitten

e::top-loop-code

e::usleep

e::version

e::write-continuation

e::write-stack



Enhancement Procedures:
Use with CAUTION

c::block

c::compiling?

c::define

c::disable-window-output

c::down-in-flames!!!

c::enable-window-output

c::environment

c::hash-string

c::kitten-input-queue

c::kitten-queue-empty?

c::kitten-purge-queue

c::kitten-reset

c::let-deadlock-time-out

c::number->string-with-c-format

c::release-block

c::release-locks

c::set-blocked-binding!

c::symeval

c::window-output-enabled?



Glossary:

Applicative Programming:

Binding:

Bitwise Operations:

Clarus the DogCow&trade:

Common Lisp:

Compiler:

Consing:

Continuation:

Environment:

Environment List:

Evaluation:

Functional Programming:

Garbage:

Garbage Collection:

Gensym:

Inf:

Inspecting Scheme Objects:

Internal Definition:

Kittens:

Lexical Scope:

MacLisp:

Macro:

Metasyntactic Variable:

MomCat:

Nan:

Numerical Accuracy:

Numerical Precision:

Ob-List:

Permanence:

Pixie:

Pixie Scheme:

Referential Transparency:

Reset:

R5 Report:

SECD Machine:

Special Form:

Tagged Aval:

Tagged-Object Lisp:

Tail Recursion:

Transcript File:

World File:

Wraith:

Wraith Face