id = "clisp"
name = "GNU CLISP"
homepage = "https://clisp.sourceforge.io/"
description = "GNU CLISP, a Common Lisp implementation"
executables = ["clisp"]
[dotfiles]
paths = ["~/.clisprc.lisp", "~/.clisprc.fas"]
secret = []
[commands]
format = 1
label = "Run Lisp code"
description = "Run a Lisp file or expressions, or compile a file, with GNU CLISP. Memory-size, locale and image options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false }
[[commands.source]]
id = "help"
kind = "manual"
url = "https://clisp.sourceforge.io/clisp.html"
revision = "2026-10-27"
evidence = """
clisp [-x expressions...] [lisp-file [argument...]]
-x expressions Executes a series of arbitrary expressions instead of a read-eval-print loop.
-c lisp-file Compiles the specified lisp-files to bytecode (*.fas). Imposes batch mode.
-o outputfile Specifies the output file or directory for -c.
-i init-file Specifies initialization files to be LOADed at startup.
-p package At startup the value of the variable *PACKAGE* will be set to the package named package.
-norc Prevents loading of the RC file.
-q quiet
-ansi Comply with the ANSI CL standard
-repl Start an interactive read-eval-print loop after processing the -c, -x, and lisp-file options
-on-error action appease, debug, abort, exit
"""
[[commands.field]]
id = "lisp_file"
label = "Lisp file"
description = "File to run in batch mode. Omit for the REPL."
type = "path"
position = 0
path = { kind = "file", role = "input" }
sources = ["help"]
[[commands.field]]
id = "expressions"
label = "Expressions to evaluate (-x)"
description = "Evaluated instead of the REPL; enclose in quotes."
type = "string"
option = ["-x"]
sources = ["help"]
[[commands.field]]
id = "compile"
label = "Compile file (-c)"
type = "path"
option = ["-c"]
path = { kind = "file", role = "input" }
sources = ["help"]
[[commands.field]]
id = "output"
label = "Compile output (-o)"
type = "path"
option = ["-o"]
path = { kind = "any", role = "output" }
effect = "overwrite"
sources = ["help"]
[[commands.field]]
id = "init"
label = "Init files (-i)"
type = "path"
option = ["-i"]
multiple = true
path = { kind = "file", role = "input" }
sources = ["help"]
[[commands.field]]
id = "package"
label = "Start package (-p)"
type = "string"
option = ["-p"]
sources = ["help"]
[[commands.field]]
id = "quiet"
label = "Quiet (-q)"
type = "boolean"
option = ["-q"]
sources = ["help"]
[[commands.field]]
id = "norc"
label = "Skip RC file (-norc)"
type = "boolean"
option = ["-norc"]
sources = ["help"]
[[commands.field]]
id = "ansi"
label = "ANSI mode (-ansi)"
type = "boolean"
option = ["-ansi"]
sources = ["help"]
[[commands.field]]
id = "repl"
label = "REPL after processing (-repl)"
type = "boolean"
option = ["-repl"]
sources = ["help"]
[[commands.field]]
id = "on_error"
label = "On error (-on-error)"
type = "enum"
option = ["-on-error"]
choices = [{ value = "appease", label = "appease" }, { value = "debug", label = "debug" }, { value = "abort", label = "abort" }, { value = "exit", label = "exit" }]
sources = ["help"]
[[commands.task]]
id = "script"
label = "Run script"
fields = ["lisp_file", "quiet", "norc", "on_error"]
required = ["lisp_file"]
[[commands.task]]
id = "eval"
label = "Evaluate expressions"
fields = ["expressions", "quiet", "norc", "repl"]
required = ["expressions"]
[[commands.task]]
id = "compile"
label = "Compile file"
fields = ["compile", "output", "quiet"]
required = ["compile"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["lisp_file", "expressions", "compile", "output", "quiet"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["init", "package", "norc", "ansi", "repl", "on_error"]