id = "gauche" name = "Gauche" homepage = "https://practical-scheme.net/gauche/" description = "Gauche is an R7RS Scheme implementation designed for scripting." executables = ["gosh"] [dotfiles] # https://practical-scheme.net/gauche/man/gauche-refe.html — when gosh starts # an interactive REPL, it loads ~/.gaucherc if that file exists. paths = ["~/.gaucherc"] secret = [] side_effect = false [commands] format = 1 label = "Run Scheme" description = "Run a Scheme script, evaluate an expression, or start the REPL with gosh. Feature flags (-f, -F), profiling and R7RS mode are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = true, short_bundles = false } [[commands.source]] id = "man" kind = "manual" url = "https://manpages.debian.org/testing/gauche/gosh.1.en.html" revision = "debian testing 2026-10" evidence = """ gosh [-bhiqV] [-I path ] [-A path ] [-u module ] [-l file ] [-L file ] [-e expr ] [-E expr ] [-m module ] [-f flag ] [-F feature ] [-p type ] [-r standard ] [--] [ script argument ... ] -b Batch mode. Doesn't print prompt even the standard input is a terminal. -i Interactive mode. Forces to print prompt, even the standard input is not a terminal. -q Prevents reading the default initialization file. -Ipath Adds path in front of the load path list. -Apath Appends path to the tail of the load path list. -umodule Loads and imports module, as if "(use module )" is specified in the code. -lfile Loads a Scheme file file. -eexpr Evaluates a Scheme expression expr. -V Prints gosh version and exits. """ [[commands.field]] id = "script" label = "Script file" description = "Leave empty to start the interactive REPL." type = "path" position = 0 min = 0 path = { kind = "file", role = "input", must_exist = true } sources = ["man"] [[commands.field]] id = "script_args" label = "Script arguments" type = "string" position = 1 multiple = true min = 0 sources = ["man"] [[commands.field]] id = "expr" label = "Evaluate expression" type = "string" option = ["-e"] effect = "exec" sources = ["man"] [[commands.field]] id = "load_file" label = "Load file first" type = "path" option = ["-l"] path = { kind = "file", role = "input" } sources = ["man"] [[commands.field]] id = "use_module" label = "Import module" type = "string" option = ["-u"] sources = ["man"] [[commands.field]] id = "load_path" label = "Prepend load path" type = "path" option = ["-I"] path = { kind = "directory", role = "input" } sources = ["man"] [[commands.field]] id = "append_load_path" label = "Append load path" type = "path" option = ["-A"] path = { kind = "directory", role = "input" } sources = ["man"] [[commands.field]] id = "batch" label = "Batch mode (no prompt)" type = "boolean" option = ["-b"] sources = ["man"] [[commands.field]] id = "interactive" label = "Force prompt" type = "boolean" option = ["-i"] sources = ["man"] [[commands.field]] id = "no_init" label = "Skip default init file" type = "boolean" option = ["-q"] sources = ["man"] [[commands.task]] id = "script" label = "Run a script" fields = ["script", "script_args", "load_path", "use_module", "no_init"] required = ["script"] [[commands.task]] id = "repl" label = "Start the REPL" fields = ["load_file", "use_module", "load_path", "no_init"] required = [] [[commands.group]] id = "basic" label = "Basic" fields = ["script", "script_args", "expr", "load_file", "use_module"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["load_path", "append_load_path", "batch", "interactive", "no_init"]