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)