id = "guile"
name = "Guile"
homepage = "https://www.gnu.org/software/guile/"
description = "Guile is an implementation of the Scheme programming language."
icon = "https://upload.wikimedia.org/wikipedia/commons/b/b3/GNU-Guile-logo.svg"
executables = ["guile", "guild", "guile-config"]
[dotfiles]
paths = ["~/.guile"]
exclude = ["~/.guile_history"]
secret = []
side_effect = false
[commands]
format = 1
label = "Run Guile"
description = "Run a Scheme script or expression, or start the REPL with extra load paths and files. Listening REPLs and language options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.source]]
id = "man"
kind = "manual"
url = "https://manpages.debian.org/unstable/guile-3.0/guile-3.0.1.en.html"
revision = "guile-3.0 2026-10"
evidence = """
-L DIRECTORY
Add DIRECTORY to the front of Guile's module load path.
-l FILE
Load Scheme source code from FILE, and continue processing the command line.
-c EXPR
Stop argument processing, and evaluate EXPR as a Scheme expression.
-s SCRIPT-FILE
Load Scheme source from SCRIPT-FILE and execute as a script.
--debug
--no-debug
--no-auto-compile
Disable automatic source file compilation.
-q
In interactive mode, suppress loading the user's initialization file,
"""
[[commands.field]]
id = "script"
label = "Script file"
type = "path"
option = ["-s"]
path = { kind = "file", role = "input" }
sources = ["man"]
[[commands.field]]
id = "expr"
label = "Expression"
type = "string"
option = ["-c"]
sources = ["man"]
[[commands.field]]
id = "load"
label = "Load files first"
type = "path"
option = ["-l"]
path = { kind = "file", role = "input" }
multiple = true
sources = ["man"]
[[commands.field]]
id = "load_path"
label = "Module load path"
type = "path"
option = ["-L"]
path = { kind = "directory", role = "input" }
multiple = true
sources = ["man"]
[[commands.field]]
id = "no_init"
label = "Skip ~/.guile"
type = "boolean"
option = ["-q"]
sources = ["man"]
[[commands.field]]
id = "no_auto_compile"
label = "No auto-compile"
type = "boolean"
option = ["--no-auto-compile"]
sources = ["man"]
[[commands.field]]
id = "debug"
label = "Debugging VM"
type = "boolean"
option = ["--debug"]
sources = ["man"]
[[commands.task]]
id = "script"
label = "Run a script"
fields = ["script", "load_path"]
required = ["script"]
[[commands.task]]
id = "eval"
label = "Evaluate an expression"
fields = ["expr", "load_path"]
required = ["expr"]
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["script", "expr", "load", "load_path"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["no_init", "no_auto_compile", "debug"]