id = "chicken"
name = "CHICKEN Scheme"
homepage = "https://www.call-cc.org"
description = "A compiler and interpreter for the Scheme programming language."
executables = ["csi", "csc", "chicken", "chicken-install"]
[dotfiles]
paths = [
"[configHome]/chicken/csirc",
"~/.csirc",
]
exclude = []
secret = []
side_effect = false
[commands]
format = 1
label = "Run Scheme with csi"
description = "Run the CHICKEN interpreter on Scheme files or an expression. Compiler (csc) and chicken-install options are not covered."
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://manpages.debian.org/unstable/chicken-bin/csi.1.en.html"
revision = "2026-10-27"
evidence = """
-e EXPRESSION, -eval EXPRESSION Evaluate the given expression.
-p EXPRESSION, -print EXPRESSION Evaluate and print the result(s) of the given expression.
-D SYMBOL, -feature SYMBOL Register feature identifier.
-q, -quiet Do not print banner.
-n, -no-init Do not load initialization file. .csirc
-b, -batch Terminate after command-line processing.
-w, -no-warnings Disable all warnings.
-i, -case-insensitive Enable case-insensitive reading.
-s PATHNAME, -script PATHNAME Use interpreter for shell scripts.
-ss PATHNAME Run a script with a main procedure
-R NAME, -require-extension NAME Import extension before executing code.
-I PATHNAME, -include-path PATHNAME Add PATHNAME to the include path.
-- Ignore all following options.
"""
[[commands.field]]
id = "files"
label = "Scheme files"
description = "Files loaded in order before the REPL starts (or before exit with batch)."
type = "path"
position = 0
multiple = true
path = { kind = "file", role = "input" }
sources = ["help"]
[[commands.field]]
id = "eval"
label = "Evaluate expression"
type = "string"
option = ["-e"]
multiple = true
sources = ["help"]
[[commands.field]]
id = "print"
label = "Evaluate and print"
type = "string"
option = ["-p"]
sources = ["help"]
[[commands.field]]
id = "script"
label = "Run as script"
type = "path"
option = ["-s"]
path = { kind = "file", role = "input" }
sources = ["help"]
[[commands.field]]
id = "main_script"
label = "Run script with main procedure"
type = "path"
option = ["-ss"]
path = { kind = "file", role = "input" }
sources = ["help"]
[[commands.field]]
id = "batch"
label = "Exit after processing"
type = "boolean"
option = ["-b"]
sources = ["help"]
[[commands.field]]
id = "quiet"
label = "No banner"
type = "boolean"
option = ["-q"]
sources = ["help"]
[[commands.field]]
id = "no_init"
label = "Skip .csirc"
type = "boolean"
option = ["-n"]
sources = ["help"]
[[commands.field]]
id = "no_warnings"
label = "Disable warnings"
type = "boolean"
option = ["-w"]
sources = ["help"]
[[commands.field]]
id = "require"
label = "Import extension"
type = "string"
option = ["-R"]
multiple = true
sources = ["help"]
[[commands.field]]
id = "include_path"
label = "Include path"
type = "path"
option = ["-I"]
multiple = true
path = { kind = "directory", role = "input" }
sources = ["help"]
[[commands.task]]
id = "repl"
label = "Open REPL, loading files"
fields = ["files", "quiet", "no_init", "require"]
[[commands.task]]
id = "eval"
label = "Evaluate an expression"
set = { batch = [true] }
fields = ["print", "batch", "quiet", "require"]
required = ["print"]
[[commands.task]]
id = "script"
label = "Run a script"
fields = ["script", "include_path", "require"]
required = ["script"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["files", "print", "eval", "script", "main_script", "batch"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["quiet", "no_init", "no_warnings", "require", "include_path"]