Short: Amiga specific Common Lisp Author: manfred.bergmann@me.com (Manfred Bergmann) Uploader: mb software-by-mabe com (Manfred Bergmann) Type: dev/lang Version: 0.12.0 Replaces: dev/lang/clamiga.lha Requires: 68020+, 1 MB RAM (more for big programs); FPU for bin/aos3-fpu Architecture: m68k-amigaos >= 3.0.0; ppc-morphos Distribution: Aminet URL: https://github.com/mdbergmann/amilisp AmiLisp 0.12.0 - Common Lisp for AmigaOS 3 and MorphOS ====================================================== A Common Lisp built for the Amiga: a compact bytecode VM in portable C with an optional native m68k JIT, CLOS with the MOP, Gray streams, threads, sockets with TLS (AmiSSL), an FFI with Lisp callbacks, and bindings for Intuition, Graphics, GadTools, ReAction, MUI, BOOPSI, audio.device, AHI, iffparse and DOS packets, plus generated 1:1 bindings for every library of the NDK 3.2 and the MorphOS SDK. ASDF and Quicklisp are included. Small programs run in 1 MB of RAM, and the same compiled FASLs run unchanged on 68k and PowerPC. Getting started --------------- 1. Unpack anywhere - no installer, no assigns: lha x amilisp.lha Work: 2. Pick your binary: bin/aos3/amilisp AmigaOS 3.x, any 68020+ (floats in software) bin/aos3-fpu/amilisp AmigaOS 3.x with an FPU (68881/882, 040/060, Vampire, PiStorm) - crashes without one bin/mos/amilisp MorphOS (PowerPC, native) 3. Start it from a Shell with a 128K stack: stack 131072 cd Work:amilisp-0.12.0 bin/aos3/amilisp 4. At the prompt: (format t "Hello, Amiga!~%") (require "amiga/intuition") ; the OS bindings load on demand (load "examples/amiga/gfx/bouncing-lines.lisp") (quit) 5. Going further: bin/aos3/amilisp --heap 16M ; more heap for bigger programs bin/aos3/amilisp --load examples/amiga/reaction/listbrowser.lisp examples/ holds ready-to-run programs (ReAction and MUI GUIs, graphics, audio, IFF, ARexx). The documentation is AmigaGuide with icons: README-FIRST.guide (the binaries, the heap image, the libraries, and how Clamacs connects to amilisp's ARexx port), amilisp.guide (the manual), clamacs.guide (the editor), and docs/README.guide, the package reference (EXT, MP, FFI, GRAY, MOP and the AMIGA.* bindings). Changes in 0.12.0 ----------------- AmiLisp 0.12 - the rename: the product, the binary and the Lisp-level names are AmiLisp / amilisp (the AMILISP package with CLAMIGA as a nickname, AMILISP_* environment variables, the AMILISP ARexx port, amilisp.img, .amilisprc, lib/amilisp/, Aminet dev/lang/amilisp.lha), every old name kept as an alias and the library forks saying #+amilisp; the collector: a backend seam behind cl_alloc with a GC= build knob and an Immix-style mark-region collector, the default on m68k and MorphOS (GC=classic keeps the old one), the mark-loop pass, ext:%heap-stats, a thread coming online during a stop-the-world wait no longer a second initiator; Clamacs 0.5: projects replace perspectives (Open/Switch/Close Project, Recent Projects, projects.cfg), iedit edits every occurrence of a symbol at once with M-{ / M-} / M-H scope keys, C-c C-k loads on the REPL thread with its output streamed and its errors as rows (EXT.DEV REPL-LOAD), Load System / Test System pick a system of a .asd, the status line names the cursor's package, a block cursor, an About window, a missing or too old TextEditor.mcc reported in a requester, the right Option / Alt composes, a save into a missing directory offers to make it, the README is a user guide shipped as clamacs.guide; the REPL banner names the build, the heap, the collector, the JIT state and the boot image, and the REPL colours its roles (bold blue prompt, WARNING / ERROR badges) readably on an AmigaOS Shell; MP:WITH-LOCK-HELD and WITH-RECURSIVE-LOCK-HELD take :TIMEOUT, MP:THREAD / LOCK / CONDITION-VARIABLE are type specifiers, AMILISP:TYPEXPAND-1 / TYPEXPAND and deftype's * default, LOAD-ASD-SYSTEM / TEST-ASD-SYSTEM take the system's name; the Vampire 68080 lost-store record (docs/vampire-68080-lost-stores.md) with its probes retired, the toolchain staying at gcc 6.5.0b after a GCC 16 evaluation; the Amiga suite's audio one-shot retries until FS-UAE's audio DMA is warm, AMILISP_SUITE_SKIP for sections a machine cannot start, make test-gc-stress runs the Clamacs suite as its last leg; Amiga suite in FS-UAE 5313/5313 fresh boot and 5303/5303 restored boot (gate run of 2026-10-21), test-extra 18/18 scripts, 13298/0; the release binaries are the ones of snapshot af2bebbb, run on real AmigaOS and MorphOS hardware. License: Apache 2.0. Source code, documentation and issue tracker: https://github.com/mdbergmann/amilisp