id = "abcl"
name = "Armed Bear Common Lisp"
homepage = "https://abcl.org/"
description = "Armed Bear Common Lisp (ABCL) is a full implementation of the Common Lisp language featuring both an interpreter and a compiler in the JVM."
executables = ["abcl"]
[dotfiles]
paths = ["~/.abclrc", "~/.ablrc", "~/.ablisprc"]
exclude = []
secret = []
[commands]
format = 1
label = "Start ABCL"
description = "Start the Armed Bear Common Lisp REPL, or evaluate an expression or load a file first. Other startup switches are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false }
[[commands.source]]
id = "doc"
kind = "manual"
url = "https://armedbear.common-lisp.dev/doc/abcl-start.html"
revision = "2026-10"
evidence = """
--noinit If you have defined an
--noinform Suppresses the
--batch See batch below.
--eval See eval below.
--load See load below.
The --noinform option stops the normal startup messsages from appearing.
lisp --eval "(+ 1 2)"
lisp --load ~/test.lisp
"""
[[commands.field]]
id = "eval"
label = "Evaluate expression"
type = "string"
option = ["--eval"]
multiple = true
effect = "exec"
sources = ["doc"]
[[commands.field]]
id = "load"
label = "Load file"
type = "path"
option = ["--load"]
multiple = true
path = { kind = "file", role = "input" }
effect = "exec"
sources = ["doc"]
[[commands.field]]
id = "noinit"
label = "Skip init file"
type = "boolean"
option = ["--noinit"]
sources = ["doc"]
[[commands.field]]
id = "noinform"
label = "Hide startup banner"
type = "boolean"
option = ["--noinform"]
sources = ["doc"]
[[commands.field]]
id = "batch"
label = "Batch mode"
type = "boolean"
option = ["--batch"]
sources = ["doc"]
[[commands.task]]
id = "run_script"
label = "Run a Lisp file"
fields = ["load", "noinit", "noinform", "batch"]
required = ["load"]
[[commands.task]]
id = "eval_expr"
label = "Evaluate an expression"
fields = ["eval", "noinform", "batch"]
required = ["eval"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["eval", "load", "batch"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["noinit", "noinform"]