{
  "id": "clisp",
  "name": "GNU CLISP",
  "homepage": "https://clisp.sourceforge.io/",
  "description": "GNU CLISP, a Common Lisp implementation",
  "executables": [
    "clisp"
  ],
  "dotfiles": {
    "paths": [
      "~/.clisprc.lisp",
      "~/.clisprc.fas"
    ],
    "secret": []
  },
  "commands": {
    "format": 1,
    "label": "Run Lisp code",
    "description": "Run a Lisp file or expressions, or compile a file, with GNU CLISP. Memory-size, locale and image options are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "help",
        "kind": "manual",
        "url": "https://clisp.sourceforge.io/clisp.html",
        "revision": "2026-10-27",
        "evidence": "clisp [-x expressions...] [lisp-file [argument...]]\n-x expressions   Executes a series of arbitrary expressions instead of a read-eval-print loop.\n-c lisp-file   Compiles the specified lisp-files to bytecode (*.fas). Imposes batch mode.\n-o outputfile   Specifies the output file or directory for -c.\n-i init-file   Specifies initialization files to be LOADed at startup.\n-p package   At startup the value of the variable *PACKAGE* will be set to the package named package.\n-norc   Prevents loading of the RC file.\n-q   quiet\n-ansi   Comply with the ANSI CL standard\n-repl   Start an interactive read-eval-print loop after processing the -c, -x, and lisp-file options\n-on-error action   appease, debug, abort, exit\n"
      }
    ],
    "field": [
      {
        "id": "lisp_file",
        "label": "Lisp file",
        "description": "File to run in batch mode. Omit for the REPL.",
        "type": "path",
        "position": 0,
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "help"
        ]
      },
      {
        "id": "expressions",
        "label": "Expressions to evaluate (-x)",
        "description": "Evaluated instead of the REPL; enclose in quotes.",
        "type": "string",
        "option": [
          "-x"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "compile",
        "label": "Compile file (-c)",
        "type": "path",
        "option": [
          "-c"
        ],
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "help"
        ]
      },
      {
        "id": "output",
        "label": "Compile output (-o)",
        "type": "path",
        "option": [
          "-o"
        ],
        "path": {
          "kind": "any",
          "role": "output"
        },
        "effect": "overwrite",
        "sources": [
          "help"
        ]
      },
      {
        "id": "init",
        "label": "Init files (-i)",
        "type": "path",
        "option": [
          "-i"
        ],
        "multiple": true,
        "path": {
          "kind": "file",
          "role": "input"
        },
        "sources": [
          "help"
        ]
      },
      {
        "id": "package",
        "label": "Start package (-p)",
        "type": "string",
        "option": [
          "-p"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "quiet",
        "label": "Quiet (-q)",
        "type": "boolean",
        "option": [
          "-q"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "norc",
        "label": "Skip RC file (-norc)",
        "type": "boolean",
        "option": [
          "-norc"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "ansi",
        "label": "ANSI mode (-ansi)",
        "type": "boolean",
        "option": [
          "-ansi"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "repl",
        "label": "REPL after processing (-repl)",
        "type": "boolean",
        "option": [
          "-repl"
        ],
        "sources": [
          "help"
        ]
      },
      {
        "id": "on_error",
        "label": "On error (-on-error)",
        "type": "enum",
        "option": [
          "-on-error"
        ],
        "choices": [
          {
            "value": "appease",
            "label": "appease"
          },
          {
            "value": "debug",
            "label": "debug"
          },
          {
            "value": "abort",
            "label": "abort"
          },
          {
            "value": "exit",
            "label": "exit"
          }
        ],
        "sources": [
          "help"
        ]
      }
    ],
    "task": [
      {
        "id": "script",
        "label": "Run script",
        "fields": [
          "lisp_file",
          "quiet",
          "norc",
          "on_error"
        ],
        "required": [
          "lisp_file"
        ]
      },
      {
        "id": "eval",
        "label": "Evaluate expressions",
        "fields": [
          "expressions",
          "quiet",
          "norc",
          "repl"
        ],
        "required": [
          "expressions"
        ]
      },
      {
        "id": "compile",
        "label": "Compile file",
        "fields": [
          "compile",
          "output",
          "quiet"
        ],
        "required": [
          "compile"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "lisp_file",
          "expressions",
          "compile",
          "output",
          "quiet"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "init",
          "package",
          "norc",
          "ansi",
          "repl",
          "on_error"
        ]
      }
    ]
  }
}
