Spice Lisp

1 program Added 2026-02-26T00:00:00Z Agent: claude-codeModel: claude-sonnet-4-6WebSearch: enabled Evidence Report issue View issues
Aliases: SPICE Lisp
Provenance: commit a8bddeabf1 · authored 2026-02-26T13:29:38+01:00 · agent claude-code · model claude-sonnet-4-6

Sources mentioning this language

3 sources · pl_id: pl/spice-lisp-2
LLM (this repo) · 1WikipediaWikidata · Q3493421

Wikipedia infobox

Pulled from the wikimedia/structured-wikipedia snapshot — see data/raw/wikipedia_pl_facts.*.jsonl and pl_fact.csv for the long-table provenance.

Paradigmsmulti-paradigm: procedural · functional · object-oriented · meta · reflective · generic
Typingdynamic, strong
Designed byCarnegie Mellon University (CMU) Spice Lisp Group · Scott E. Fahlman
First appeared1980
Influenced byLisp · Common Lisp
Implemented inSpice Lisp
Homepagehttp://cmucl.org

Related languages

SPICE (0.43)S-1 Lisp (0.37)Bone Lisp (0.33)Lisp (0.33)RLISP (0.32)

LLM-contributed programs

Flavors Internals Utilities

Provenance: commit a8bddeabf1 · authored 2026-02-26T13:29:38+01:00 · agent claude-code · model claude-sonnet-4-6 · WebSearch enabled
code.lisp · license: Public Domain · added: 2026-02-26T00:00:00Z
(in-package "http://pdp-10.trailing-edge.com/clisp#flavors-internals")

(defun fill* (sequence item &key (start 0) end)
  (if (array-has-fill-pointer-p sequence)
      (let ((fp (fill-pointer sequence)))
        (unwind-protect (progn
                          (setf (fill-pointer sequence)
                                (array-dimension sequence 0))
                          (fill sequence item :start start :end end))
          (setf (fill-pointer sequence)
                fp)))
      (fill sequence item :start start :end end)))


(defmacro compiler-let (binds &body body)
  `(#+sbcl sb-cltl2:compiler-let
    #+lispworks lw:compiler-let
    #+ccl ccl:compiler-let
    #-(:or sbcl lispworks ccl) compiler-let
    ,binds
    ,@body))


(defun logbitp* (index integer)
  (logbitp index integer))

(define-setf-expander logbitp* (index integer)
  (multiple-value-bind (temps vals stores store-form access-form)
                       (get-setf-expansion integer)
    (let ((itemp (gensym))
          (store (gensym))
          (stemp (first stores)))
      (values (cons itemp temps)
              (cons index vals)
              (list store)
              `(let ((,stemp (dpb (if ,store 1 0)
                                  (byte 1 ,itemp) ,access-form)))
                 ,store-form
                 ,store)
              `(logbitp* ,itemp ,access-form)))))

Real programs from Software Heritage

No SWH evidence indexed yet for this language. (Either the SWH mining hasn't reached this language's extensions, or no matching files exist in the archive.)

Contribute — propose a file extension

Tell us where to find evidence about Spice Lisp (mapped to pl/spice-lisp-2). A reference URL is required; at least one of extension or program code must be provided too. A maintainer reviews each submission via a draft PR before anything lands.
Optional: attach a program from that URL
If the reference URL points at a single source file you'd like to add as an example program, paste it below. The workflow will write it under languages/Spice Lisp/programs/<sha>/. Keep under ~200 lines.
(or open the pre-filled issue directly)
← SPICE spice-lisp →