Oaklisp

2 programs Added 2026-02-10T14:07:22Z Agent: claude-codeModel: claude-opus-4-6WebSearch: disabled Evidence Report issue View issues
Aliases: —
Provenance: commit f796cf6e25 · authored 2026-02-10T15:08:06+01:00 · agent claude-code · model claude-opus-4-6

Sources mentioning this language

5 sources · pl_id: pl/oaklisp
LLM (this repo) · 1Community · 1PldbWikipediaWikidata · Q7074171

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: object-oriented · functional · procedural
Typingdynamic, strong
Designed byKevin J. Lang · Barak A. Pearlmutter
First appeared1986
Influenced byScheme · T · Smalltalk

Extensions claimed by this language

1 claim. Each row is one upstream assertion with its strength. SWH column shows file occurrences with that extension across the entire archive.
ExtensionSourceStrengthSWH
.oakmanual_review:skunneproposed1.8K files

Related languages

OpenLisp (0.36)Lisp (0.33)ObjVlisp (0.33)uLisp (0.33)EuLisp (0.31)

LLM-contributed programs

Factorial

Provenance: commit f796cf6e25 · authored 2026-02-10T15:08:06+01:00 · agent claude-code · model claude-opus-4-6 · WebSearch disabled
code.oak · license: GPL-2.0 · added: 2026-02-10T14:07:22Z
;;; Factorial computation in Oaklisp
;;; Oaklisp is an object-oriented dialect of Scheme

(define (factorial n)
  (if (<= n 1)
      1
      (* n (factorial (- n 1)))))

(define (print-factorial n)
  (format #t "~A! = ~A~%%" n (factorial n)))

(dotimes (i 10)
  (print-factorial (+ i 1)))

Community-contributed programs

Submitted by visitors through the Propose-extension form; each one was reviewed in a draft PR before landing.

Prime factorisation

Provenance: submitted via #28 on the Propose-extension form
code.oak · license: Gnu GPL · added: 2026-05-20T14:39:06Z
;;; This file is part of Oaklisp.
;;;
;;; This program is free software; you can redistribute it and/or modify
;;; it under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 2 of the License, or
;;; (at your option) any later version.
;;;
;;; This program is distributed in the hope that it will be useful,
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; The GNU GPL is available at http://www.gnu.org/licenses/gpl.html
;;; or from the Free Software Foundation, 59 Temple Place - Suite 330,
;;; Boston, MA 02111-1307, USA


;;; Copyright (C) 1987 Barak A. Pearlmutter & Kevin J. Lang


(define prime-list
  (labels (((prime? n)
	    (iterate aux ((l prime-list))
	      (let* ((i (car l))
		     (n/i (quotient n i)))
		(cond ((< n/i i) #t)
		      ((= (* i n/i) n) #f)
		      (else (aux (cdr l)))))))

	   ((primes-list n)
	    (if (prime? n)
		(lcons n (primes-list (+ 1 n)))
		(primes-list (+ 1 n)))))

    (lcons 2 (primes-list 3))))


(define (factor n)
  (iterate step ((left n) (factors '()) (tries prime-list))
    (let* ((try (car tries))
	   (try-square (* try try)))
      (cond ((= 1 left) factors)
	    ((zero? (modulo left try))
	     (step (quotient left try) (cons try factors) tries))
	    ((> try-square left)
	     (cons left factors))
	    (else
	     (step left factors (cdr tries)))))))


;;; eof

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 Oaklisp (mapped to pl/oaklisp). 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/Oaklisp/programs/<sha>/. Keep under ~200 lines.
(or open the pre-filled issue directly)
← Oak OAL →