{
  "id": "abcl",
  "name": "Armed Bear Common Lisp",
  "homepage": "https://abcl.org/",
  "description": "Armed Bear Common Lisp (ABCL) is a full implementation of the Common Lisp language featuring both an interpreter and a compiler in the JVM.",
  "executables": [
    "abcl"
  ],
  "dotfiles": {
    "paths": [
      "~/.abclrc",
      "~/.ablrc",
      "~/.ablisprc"
    ],
    "exclude": [],
    "secret": []
  },
  "commands": {
    "format": 1,
    "label": "Start ABCL",
    "description": "Start the Armed Bear Common Lisp REPL, or evaluate an expression or load a file first. Other startup switches are left out.",
    "quality": "ai-draft",
    "parser": {
      "end_of_options": "--",
      "interleave": "permute",
      "long_equals": false,
      "short_attached": false,
      "short_bundles": false
    },
    "source": [
      {
        "id": "doc",
        "kind": "manual",
        "url": "https://armedbear.common-lisp.dev/doc/abcl-start.html",
        "revision": "2026-10",
        "evidence": "--noinit If you have defined an\n--noinform Suppresses the\n--batch See batch below.\n--eval  See eval below.\n--load See load below.\nThe --noinform option stops the normal startup messsages from appearing.\nlisp --eval \"(+ 1 2)\"\nlisp --load ~/test.lisp\n"
      }
    ],
    "field": [
      {
        "id": "eval",
        "label": "Evaluate expression",
        "type": "string",
        "option": [
          "--eval"
        ],
        "multiple": true,
        "effect": "exec",
        "sources": [
          "doc"
        ]
      },
      {
        "id": "load",
        "label": "Load file",
        "type": "path",
        "option": [
          "--load"
        ],
        "multiple": true,
        "path": {
          "kind": "file",
          "role": "input"
        },
        "effect": "exec",
        "sources": [
          "doc"
        ]
      },
      {
        "id": "noinit",
        "label": "Skip init file",
        "type": "boolean",
        "option": [
          "--noinit"
        ],
        "sources": [
          "doc"
        ]
      },
      {
        "id": "noinform",
        "label": "Hide startup banner",
        "type": "boolean",
        "option": [
          "--noinform"
        ],
        "sources": [
          "doc"
        ]
      },
      {
        "id": "batch",
        "label": "Batch mode",
        "type": "boolean",
        "option": [
          "--batch"
        ],
        "sources": [
          "doc"
        ]
      }
    ],
    "task": [
      {
        "id": "run_script",
        "label": "Run a Lisp file",
        "fields": [
          "load",
          "noinit",
          "noinform",
          "batch"
        ],
        "required": [
          "load"
        ]
      },
      {
        "id": "eval_expr",
        "label": "Evaluate an expression",
        "fields": [
          "eval",
          "noinform",
          "batch"
        ],
        "required": [
          "eval"
        ]
      }
    ],
    "group": [
      {
        "id": "basic",
        "label": "Basic",
        "fields": [
          "eval",
          "load",
          "batch"
        ]
      },
      {
        "id": "advanced",
        "label": "Advanced",
        "fields": [
          "noinit",
          "noinform"
        ]
      }
    ]
  }
}
