ELK(1)

NAME
elk, scheme - extensible Scheme interpreter

SYNOPSIS
scheme [ -l file ] [ -h KBytes ] [ -p load-path ] [ -g ] [ -i ] [ -v ] [[ -- ] args]

elk...

DESCRIPTION
Elk (Extension Language Kit) is a Scheme interpreter intended to be used as a general extension language. Normally, Elk is linked together with the application that uses it as its extension language. Elk can also be used as a stand-alone implementation of the Scheme language.

When called without the -l option, Elk loads the standard “toplevel” to start an interactive session. When called with -l file, the contents of the specified file is loaded instead. If a `-' is given as a filename argument, Elk loads from standard input.

The option -p load-path can be used to override the standard load-path. The argument is a comma-list of directories.

The -h KBytes option is used to specify a non-standard heap size. The default heap size is 512 KBytes.

If the option -i is specified, symbols are mapped to lower case. Normally, Elk is case-sensitive.

The -g option causes the interpreter to run the garbage collector each time memory is allocated on the heap. This is useful for writers of extensions who want to test the garbage collect behavior of an extension. Running Elk with the -g option is likely to reveal GC-related bugs in extensions (such as not properly protected local objects), as it triggers a garbage collection each time an object is allocated on the Scheme heap. A dot is written to standard output each time a garbage collection is performed when -g has been specified.

The -v (verbose) option causes the interpreter to write to standard output the system linker invocation used to incrementally link each object file that is loaded. This is useful when the exact options, filenames, and libraries passed to the system linker must be examined.

The remaining args are put into a list of strings, and the Scheme variable command-line-args is bound to this list in the global environment. If arguments could be interpreted as options, `--' can be used to indicate the end of the options.

FILES
/tmp/ldXXXXXX	Temporary files
/bin/ld	System linker invoked for incremental linking

AUTHOR
Oliver Laumann

BUGS
Redefinition of primitive procedures such as car or display can cause the toplevel to enter an endless loop that cannot be interrupted by typing the interrupt key. In this case Elk must be terminated by pressing the quit key or by killing it.