STKLOS(1)

NAME
stklos - An efficient Scheme System providing a powerful Object System

SYNOPSYS
stklos [OPTION ...] [ARGUMENT ... ]

DESCRIPTION
STklos is a free Scheme System (nearly) conforming to R5RS. The aim of this implementation is to be fast as well as light. The implementation is based on an ad-hoc Virtual Machine. STklos can also be compiled as a library, so that one can easily embed it in an application.

The salient points of STklos are:

    - an efficient and powerful object system based on CLOS providing:

    + Multiple Inheritance,

    + Generic Functions,

    + Multi-methods

    + an efficient MOP (Meta Object Protocol)

    - a simple to use module system

    - implementing the full tower of numbers defined in R5RS

    - an easy connection to the GTK+ toolkit

    - Perl compatible regular expressions thanks to the PCRE package

    - properly implemented tail recursive calls

OPTIONS
Here are the options available in the version 1.70 of stklos.

-l file, --load=file
    load 'file' before going interactive

-f file, --file=file
    use 'file' as program

-I dir
    prepend 'dir' to the directory path. This option can be used several times.

-A dir
    append 'dir' to the directory path. This option can be used several times.

-e sexpr, --execute=sexpr
    evaluate the given sexpr and exit

-b file, --boot-file=file
    use 'file' to boot the system instead of the default one

-D directory, --conf-dir=directory
    use the given directory to store the various configuration files. This directory is also used to store the packages installed with the stklos-pkg(1) command. Note that the shell variable STKLOS_CONFDIR can also be used to set this directory (see below).

-q, --no-init-file
    quiet: do not load the user init file

-i, --interactive
    be interactive, even if the command finds it is not the case. This option is generally useful when used inside emacs since it permits to display the REPL prompts.

-n, --no-line-editor
    tell the REPL to not use the line editor even if GNU readline or BSD libedit libraries are found. This permit to use an external tool such as rlwrap(1) instead of the internal line editor support.

-d, --debug
    insert informations to ease debugging (e.g, line numbers, signaling usage of undefined symbols, ...). Can be used multiple times to increase the debugging level;

-s, --stack-size=n
    use a stack of n cells.

--case-insensitive
    be case insensitive as in R5RS (see below).

-c, --case-sensitive
    be case sensitive as in R7RS. This is the default value (unless stklos has been built with the --enable-case-insensitive configure option). This option (and the previous one) permits to change the default behavior.

-u yes|no, --utf8-encoding=yes|no
    At initialisation time, STklos infers the current locale from the LC_ALL variable. From the character encoding used in the selected locale, STklos determines if UTF-8 should be used for representing strings. The --utf8-encoding permits to force the encoding used. Note that if LC_ALL is unset and this option is not used, UTF-8 encoding will be used.

-v, --version
    print program version and exit.

-V  print detailed program version and information in machine-readable format, as per SRFI-176, and exit.

-h, --help
    print this help and exit.

--  This special option signals the end of the stklos command. The arguments placed after this option are taken as program arguments, even if they start with a "-" character.

NOTES
Default case sensitivity depends on the way STklos is built.

ENVIRONMENT VARIABLES

STKLOS_LOAD_PATH
    This is a colon-separated list of directories in which stklos looks for loading files. It is used by functions such as load or try-load.

STKLOS_FRAMES
    This variable must contains an integer which indicates the number of frames printed on an error. Use the value 0 for an unlimited back-trace.

STKLOS_CONFDIR
    This variable can be used to designate the directory used by stklos to store its configuration or packages files. It not set, the default stklos configuration directory is by default ~/.stklos.

FILES

~/<stklos-conf-dir>/stklosrc
    This file is the user init file which is loaded when stklos starts. Use the -q to avoid the loading of this file.

SEE ALSO
stklos-config(1), stklos-compile(1), stklos-pkg(1)

The full documentation for stklos is available at http://www.stklos.net/documentation.html