id = "mit-scheme" name = "MIT/GNU Scheme" homepage = "https://www.gnu.org/software/mit-scheme/" description = "An implementation of the Scheme programming language." executables = ["scheme"] [dotfiles] # https://www.gnu.org/software/mit-scheme/documentation/stable/mit-scheme-user.html # — the Unix init file is ~/.scheme.init and the separate Edwin init file is # ~/.edwin; both are loaded from the user's home directory when present. paths = ["~/.scheme.init", "~/.edwin"] secret = [] side_effect = false [commands] format = 1 label = "Run Scheme" description = "Start the MIT/GNU Scheme REPL with an optional heap size, init-file skip, and files or expressions to load. Other microcode 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 = "manual" kind = "manual" url = "https://www.gnu.org/software/mit-scheme/documentation/stable/mit-scheme-user/Command_002dLine-Options.html" revision = "MIT/GNU Scheme 12.1" evidence = """ --heap blocks Specifies the size of the heap in 1024-word blocks. --no-init-file This option causes Scheme to ignore the ${HOME}/.scheme.init --eval expression … --load file … """ [[commands.field]] id = "heap" label = "Heap size (1024-word blocks)" type = "integer" option = ["--heap"] sources = ["manual"] [[commands.field]] id = "no_init_file" label = "Skip ~/.scheme.init" type = "boolean" option = ["--no-init-file"] sources = ["manual"] [[commands.field]] id = "load" label = "Load file" type = "path" path = { kind = "file", role = "input" } option = ["--load"] multiple = true sources = ["manual"] [[commands.field]] id = "eval" label = "Evaluate expression" type = "string" option = ["--eval"] multiple = true sources = ["manual"] [[commands.task]] id = "repl" label = "Open REPL" fields = ["heap", "no_init_file"] [[commands.task]] id = "load" label = "Load a file" fields = ["load", "no_init_file"] required = ["load"] [[commands.group]] id = "basic" label = "Basic" fields = ["load", "eval", "no_init_file", "heap"]