lvmrun(1) Lazy Virtual Machine interpreter

SYNOPSIS

lvmrun [ lvm options ] file [ program options ]

DESCRIPTION

lvmrun is an interpreter which simulates a Lazy Virtual Machine. The interpreter executes instructions which are found in the instruction file file given on the command line.

One of the programs generating instruction files is the helium compiler which compiles Haskell files to instructions files for the Lazy Virtual Machine.

OPTIONS

-h<size>
the initial heap size. (256k)
-H<size>
the maximal heap size. ( 64m)
-s<size>
the initial stack size. ( 16k)
-S<size>
the maximal stack size. ( 64m)
-P<path>
the search path.
-m<name>
the initial start function.
-p
print final value on stdout after execution. (off)
-t
print timing report on stderr after execution. (off)
-?
show the help screen.
-he<size>
the heap expansion size. (256k)
-hm<size>
the minor generation size. (128k)
-hf<percent>
the percentage of free heap before a major collection. ( 42%)
-hF<percent>
the percentage of free heap before a compaction. (100%)
-hr
print heap report on stderr after execution. (off)
-hv<level>
the heap verbose level. (0) level is off (0), only major gc (1), every gc (2) or detailed (3)

Some of the options take an additional value. The format of the values is described below:

<size>
A number with an optional scale and optional unit. The available scales are kilo (k), mega (m) or giga (g). The available units are machine words (w) or, by default, bytes (b). Example: lvmrun -H64m -s4kw -S512kb file
<percent>
A number between 0 and 100 followed by an optional '%' character. Example: lvmrun -hF88% <file>
<path>
A list of directories separated by ';' (or ':' on unix systems). You can use $name or %name to insert an environment variable. The current path value is available as $current and the lvm installation path is available as $lvmdir. Example: lvmrun -P%current:/usr/lib/lvm file
<name>
A function name Example: lvmrun -mmymain file

ENVIRONMENT

LVMPATH
The search path for lvm files (same as -P option). The default is: ".:/usr/lib/helium/lib"
LVMOPTIONS
The default options for the lvm. The default is: ""
LVMDLLPATH
Extra search path for shared (dynamic link) libraries (.so). The default is: ""

NOTES

The options are read from LVMPATH, LVMOPTIONS and finally the command line.

COPYRIGHT

© 1999,2001 Daan Leijen <[email protected]>

The source files of the Lazy Virtual Machine, which are the files in the directory lvm, except the files in lvm/src/lib/core, are licensed under the GNU Library General Public License, currently known as the GNU Lesser General Public License:

This package is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License version 2 as published by the Free Software Foundation.

This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

The source files in the directory lvm/src/lib/core which are part of the Core Assembler of the Lazy Virtual Machine are licensed under the BSD license:

Redistribution and use in source and binary forms, with or without modification, are permitted under the terms of the BSD License.

THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

AUTHOR

This manual page was written by Arjan Oosting <arjanoosting@home> for the Debian system and is licensed under the terms of the GNU General Public License version 2.