Provided by: chibi-scheme_0.9.1-3ubuntu0.22.04.1_amd64 bug

NAME

       chibi-scheme - a tiny Scheme interpreter

SYNOPSIS

       chibi-scheme [options] [--] [script argument ...]

DESCRIPTION

       chibi-scheme  is  a  sample interactive Scheme interpreter for the chibi-scheme library.  It serves as an
       example of how to embed chibi-scheme in applications, and can be useful on its own  for  writing  scripts
       and interactive development.

       When  script  is given, it will be loaded with SRFI-22 semantics, calling the procedure main (if defined)
       with a single parameter as a list of the command-line arguments, beginning with the  script  name.   This
       works as expected with shell #! semantics.

       Otherwise,  if  no  script  given  and  no  -e or -p options are present, an interactive REPL is entered,
       reading, evaluating, and then printing expressions until EOF is  reached.   The  provided  REPL  is  very
       minimal.   For  a  more  sophisticated REPL with readline support, signal handling, module management and
       smarter read/write you may want to use the (chibi repl) module.  It can be  launched  automatically  with
       chibi-scheme -R.

       For  convenience  the  default  language is the (scheme small) module which includes every library in the
       R7RS small standard, and some other dependencies.  All of this together is actually quite large, so for a
       more  minimal  startup  language  you'll want to use the -xmodule option described below.  The get mostly
       R5RS-compatible language, use chibi-scheme -xscheme.r5rs, or to get  just  the  core  language  used  for
       bootstrapping, use chibi-scheme -xchibi (or its shortcut chibi-scheme -q).

OPTIONS

       Space  is  optional  between  options  and their arguments.  Options without arguments may not be chained
       together.

       To reduce the need for shell escapes, options with module arguments (-m, -x and -R) are  written  in  dot
       notation.  That is, spell module name (foo bar) as foo.bar on the command line.

       -V     Print the version information and exit immediately.

       -q     "Quick"  load, a shortcut for chibi-scheme -xchibi.  This is slightly different from (scheme base)
              -- which may load faster -- and is guaranteed to not load any additional shared libraries.

       -Q     "Extra quick" load, a shortcut for chibi-scheme -xchibi.primitive.  The resulting environment will
              only  contain  the  core  syntactic  forms  and  primitives  coded in C.  This is very fast and is
              guaranteed to not load any external files, but is also very limited.

       -r[main]
              Run the "main" procedure when the script finishes loading as in SRFI-22.

       -R[module]
              Load the given module and run the "main" procedure it defines (which need not be exported) with  a
              single  argument  of  the  list  of  command-line arguments as in SRFI-22.  The name "main" can be
              overridden with the -r option.  module may be omitted, in which case it defaults to  "chibi.repl".
              Thus chibi-scheme -R is the recommended way to get an advanced REPL.

       -s     Strict mode, treating warnings as fatal errors.

       -f     Enable case-folding of symbols by the reader as in R5RS.

       -T     Disable tail-call optimization.  This can be useful for debugging in some cases, but also makes it
              very easy to overflow the stack.

       -hsize[/max_size]
              Specify the initial size of the heap in bytes, optionally followed by the maximum  size  the  heap
              can  grow  up  to.  size can be any integer value, optionally suffixed with "K" for kilobytes, "M"
              for megabytes, or "G" for gigabytes (all powers of 1024).  -h must be specified before any options
              which load or evaluate Scheme code.

       -Ipath Insert path in front of the load path list.

       -Apath Append path to the load path list.

       -Dfeature
              Add feature to the feature list, useful for cond-expanding different library code.

       -mmodule

       -xmodule
              Import  module  as  if  "(import  module)" were evaluated.  If the -x version is used, then module
              replaces the current environment instead of extending it.

       -lfile Load Scheme code from file searched for in the default load path.

       -eexpr Evaluate Scheme expression expr.

       -pexpr Evaluate Scheme expression expr and print the result to stdout.

       -tmodule.id
              Enable tracing for the given identifier id in module.

       -dimage-file
              Dump the current Scheme heap to image-file and exit.

              This feature is experimental.

       -iimage-file
              Load the Scheme heap from image-file instead of compiling the init file on the fly.

              This feature is experimental.

ENVIRONMENT

       CHIBI_MODULE_PATH
              A colon-separated list of directories to search for  module  files,  inserted  before  the  system
              default load paths.  chibi-scheme searches for modules in directories in the following order:

              •   directories specified with the -I path option

              •   directories from CHIBI_MODULE_PATH

              •   system default directories

              •   directories specified with the -A path option

              If  CHIBI_MODULE_PATH  is  not  set,  directories  "./lib"  and "." are searched before the system
              defaults (in that order).

AUTHORS

       Alex Shinn

REPORTING BUGS

       Please report bugs on Github ⟨https://github.com/ashinn/chibi-scheme⟩.

SEE ALSO

       chibi-doc(1) chibi-ffi(1) snow-chibi(1)