Skip to content

Command line

This option listing is generated at site-build time from help_text() in crates/egcl/src/cli.rs. It describes this checkout's command-line interface.

Usage: egcl [OPTIONS] [SCRIPT] [-- CL-ARGS...]

Evergreen Common Lisp

Options:
  --help               Print this help message and exit
  --version            Print version information and exit
  --eval, -e EXPR      Evaluate EXPR and exit
  --load FILE          Load FILE and exit
  --image FILE         Path to the boot image
  --deliver SPEC       Deliver the saved --image using SPEC
  --output FILE        Delivered executable (with FILE.manifest report)
  --dry-run            Report delivery retention without writing files
  --runtime-source DIR Matching EGCL sources for specialized delivery
  --runtime-info       Print native runtime compatibility contract
  --no-image           Start without loading an image
  --bootstrap          Deprecated; the prelude now loads by default
  --no-bootstrap       Skip the bootstrap prelude (raw evaluator)
  --workers N          Number of worker threads
  --heap-size SIZE     Heap size (e.g. 512M, 1G)
  --tlab-size SIZE     Per-thread TLAB size
  --nursery-size SIZE  Nursery size
  --stack-size SIZE    CL stack size per green thread
  --gc-log FILE        Write GC logs to FILE
  --jit-dump           Emit jitdump metadata
  --log-level LEVEL    Set log level (error|warn|info|debug|trace)
  --sandbox            Enable sandbox mode
  --no-init            Skip loading the init file

Arguments after -- are passed through to CL as *command-line-args*.

Invocation modes

Invocation Behavior
egcl Interactive REPL
egcl --eval FORM Evaluate a form and exit
egcl --load FILE Load a Lisp file and exit
egcl FILE -- ARG… Run a script with application arguments
egcl --image FILE Restore a core image
egcl --image FILE --deliver SPEC --output APP Deliver an executable from a saved core and retention specification

Delivery is a separate execution mode: it cannot be combined with --eval, --load, a script, or application arguments. --dry-run prints its retention report without producing files. See the delivery guide for the specification format and dynamic-entry retention contract.

The prelude loads by default. --no-bootstrap selects the raw evaluator. For the REPL, EGCL_INIT_FILE selects an initialization file; its default is ~/.egclrc. --no-init skips it. Script execution skips the REPL init file.

Application arguments after -- are available as *command-line-args*. egcl-ext:raw-command-line-arguments returns the host argument vector, including the executable name.