Provided by: oaklisp_1.3.7-2_amd64 bug

NAME

       oaklisp - An implementation of the Oaklisp object-oriented Scheme dialect

SYNOPSIS

       oaklisp [ emulator-options ... [ -- oaklisp-options ... ]]

DESCRIPTION

       Oaklisp  is  an object-oriented dialect of Scheme.  This implementation is quite portable,
       compiling to a virtual machine which is emulated by a C program.  Nevertheless, reasonable
       speed is achieved through a variety of sophisticated techniques.

OPTIONS

       Options  are all long, and it makes no difference if you start them with one or two dashes
       (`-').  All options can be abbreviated to  a  unique  prefix.   There  are  two  sorts  of
       options:  for  the  bytecode  emulator,  and  for the Oaklisp world.  You must use a -- to
       separate them.

   EMULATOR OPTIONS
       --help Show summary of emulator options and exit

       --version
              Print version of emulator and exit

       --world file
              file is world to load

       --dump file
              dump world to file upon exit

       --d file
              synonym for --dump

       --dump-base b
              0=ascii, 2=binary; default=2

       --predump-gc b
              0=no, 1=yes; default=1

       --size-heap n
              n is in kilo-refs, default 128

       --size-val-stk n
              value stack buffer, n is in refs

       --size-cxt-stk n
              context stack buffer, n is in refs

       --size-seg-max n
              maximum flushed segment len, n is in refs

       --trace-gc v
              0=quiet, 3=very detailed; default=0

       --verbose-gc v
              synonym for --trace-gc

       --trace-traps

       --trace-files
              trace filesystem operations

   UNOPTIMIZED EMULATOR OPTIONS
       --trace-segs
              trace stack segment writes/reads

       --trace-valcon
              print entire value stack at each instr

       --trace-cxtcon
              print entire context stack at each instr

       --trace-stks
              print the size of the stacks at each instr

       --trace-instructions
              trace each bytecode executed

       --trace-methods
              trace each method lookup

       --trace-mcache
              trace method cache

   OAKLISP OPTIONS
       --help Show summary of Oaklisp options

       --eval expr
              Evaluate Oaklisp expression, which is one arg so be sure to quote for shell.

       --load file
              Load a file.

       --compile file
              Compile file.oak yielding file.oa

       --locale x
              Switch to locale x, eg system-locale (default), compiler-locale, scheme-locale (for
              RnRS compatibility).

       --exit Exit upon processing this option.

EXAMPLES

       This  will  compile  the file myfile.oak in the scheme locale and then leave the user in a
       read-eval-print loop in the scheme locale.

       oaklisp -- --locale scheme-locale --compile myfile

ENVIRONMENT

       The environment variable OAKWORLD will override the default compiled into the  executable,
       but itself can be overridden on the command line.

FILES

       /usr/lib/x86_64-linux-gnu/oaklisp/oakworld.bin  holds  the  world  image.   It is portable
       between  machines  of  the  same  endianity.   The  location  can  vary   depending   upon
       installation-time decisions.

BUGS

       Floating  point  numbers  are  not implemented.  Rationals can be used to make up for this
       lack because rationals can be told to print in floating point format  and  floating  point
       format  input can be made to read as rational numbers.  (There are a couple floating point
       implementations, but they are not merged into the distributed release.)

       In contrast to the error handling system, which is Industrial Strength,  the  debugger  is
       virtually nonexistent.

       There  is  no foreign function interface for loading and calling C routines from a running
       Oaklisp.  (Again, there are a couple implementations of foreign function interfaces  which
       are not merged in.)

       The memory format does not support uninterpreted "blobs".

       Porting the system to 64-bit machines has not been done, and would be quite difficult.

       POSIX threads in the emulator never got quite finished.

       Bug reports and enhancements can be filed on the github issue tracker ⟨https://github.com/
       barak/oaklisp⟩.

REFERENCES

       The programs are documented more fully in the language and implementation manuals lang.pdf
       and   lim.pdf,   along   with  OaklispSummary.pdf,  whose  source  is  included  with  the
       distribution, and installed in /usr/share/doc/oaklisp/.

       The Oaklisp home page is old location ⟨http://barak.pearlmutter.net/oaklisp/⟩ to github
       ⟨https://github.com/barak/oaklisp⟩.

       The  Implementation  of Oaklisp is a chapter in Topics in Advanced Language Implementation
       edited by Peter Lee, pp 189-215, MIT Press, 1991.

       Oaklisp: an Object-Oriented Dialect of Scheme appears in the  journal  Lisp  and  Symbolic
       Computation 1(1):39-51, published by Klewer Associates, May 1988.

       Oaklisp:  an  Object-Oriented Scheme with First Class Types appeared in proceedings of the
       ACM conference OOPSLA-86, pp30-37, published as a special issue of SIGPLAN Notices.

       Garbage collection with pointers to single  cells,  an  article  on  the  Oaklisp  garbage
       collector,  appeared  in  Communications  of  the  ACM,  39(12):202-206  (online edition),
       December 1996.

       The Revised^n Report on Scheme is a useful piece of documentation, and is widely available
       online.

DISTRIBUTION

       The  Oaklisp  copyright  belongs  to its authors.  It is distributed under the GNU General
       Public License, a copy of which is  included  in  the  source  distribution  in  the  file
       COPYING.   For  further  information  or to make alternate arrangements please contact the
       authors, who are surprisingly reasonable people.

AUTHOR

       Oaklisp was originally designed, implemented, and documented by Barak A.  Pearlmutter  and
       Kevin J. Lang.

                                                                                       OAKLISP(1)