Lisp anyone? Common Lisp available on MorphOS
  • Order of the Butterfly
    Order of the Butterfly
    asrael22
    Posts: 457 from 2014/6/11
    From: Germany
    I'm a big fan of Lisps and Common Lisp specifically.
    The last half year I worked on a from-scratch Common Lisp implementation that takes m68k and PPC into consideration.

    I've written a blog post about it:
    https://nnamgreb.de/blog/Clamiga+-+Common+Lisp+for+the+Amiga

    The GitHub project is here:
    https://github.com/mdbergmann/cl-amiga



    Manfred

    [ Edited by asrael22 11.08.2026 - 15:40 ]
  • »11.08.26 - 14:40
    Profile
  • Butterfly
    Butterfly
    Tomo
    Posts: 94 from 2003/7/29
    From: Heesch, The Ne...
    In Beebase you can program in LISP. It is a nice program language for this purpose.
    With the help of LISP I can even make some excercise programs for my grandchildren.
    See for some examples my website: https://tommaaktmuziek.nl/Beebase.html
    Sorry for the Dutch language...

    I'm curious.

    Tom
  • »12.08.26 - 18:05
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    asrael22
    Posts: 457 from 2014/6/11
    From: Germany
    Thanks.
    Looks interesting, BeeBase seems successor of MUIBase database and uses Lisp as scripting language.
    The syntax looks a bit similar to Common Lisps.

    Maybe to clarify, there are many Lisps. It's like in C where there are many dialects of a C based language. Lisp usually just means that the language is based on S-expressions, meaning the syntax uses parenthesis, so something like "()" is an empty list. The whole syntax is nothing more than lists in fact. Then there are certain conventions that the first element of the list is a function name and the rest are arguments, etc.

    Common Lisp is a more general language and runtime. So you could create this database with it for example.
    Wikipedia gives a good introduction: https://en.wikipedia.org/wiki/Common_Lisp

    There are many things that are still lacking on the Amiga/MorphOS API bindings side of things, like currently there are only API bindings for basic Intuition, Screens, Gadgets and Sound.
    Latest changes add an ARexx port for editor integration and a nicer development workflow. So you don't need to go to the REPL, reload your source file manually. ARexx can do this.
    There should be also MUI bindings and many more things later.


    Manfred

    [ Edited by asrael22 13.08.2026 - 06:18 ]
  • »13.08.26 - 05:10
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    OlafSch
    Posts: 196 from 2011/11/16
    It is cool. It works also on Aros 68k too

    Just tested
  • »13.08.26 - 17:04
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    asrael22
    Posts: 457 from 2014/6/11
    From: Germany
    Wow, that's nice.
    How are you running AROS 68k?

    I'm currently working on native TLS support via AmiSSL (also works on MOS), OpenSSL on MOS later.
    When working I'll prep a new release.
  • »14.08.26 - 10:11
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    OlafSch
    Posts: 196 from 2011/11/16
    I am developing my distribution using winuae. Part of it are many script languages and also regular languages. There I have added it
  • »14.08.26 - 11:05
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    asrael22
    Posts: 457 from 2014/6/11
    From: Germany
    Released v0.7 with bunch of changes, i.e. TLS support built-in (based on AmiSSL). MorphOS build uses wide-characters by default.

    Common Lisp "Drakma" HTTP client now works with TLS (note this requires my "usocket" and "trivial-features" cloned to "PROGDIR:quicklisp/local-projects" folder, until those forks were submitted/accepted upstream).

    Code:

    COMMON-LISP-USER> (progn
    > (require "asdf")
    > (load "~/quicklisp/setup.lisp")
    > (load "lib/quicklisp-compat.lisp"))
    T

    COMMON-LISP-USER> (ql:quickload :drakma)
    To load "drakma":
    Load 1 ASDF system:
    drakma
    ; Loading "drakma"

    (:DRAKMA)

    COMMON-LISP-USER> (setf drakma:*header-stream* *standard-output*)
    #<CONSOLE-OUTPUT-STREAM>

    COMMON-LISP-USER> (drakma:http-request "https://aminet.net")
    GET / HTTP/1.1
    Host: aminet.net
    User-Agent: Drakma/2.0.10 (CL-Amiga 0.7.0; MorphOS; http://weitz.de/drakma/)
    Accept: */*
    Connection: close

    HTTP/1.1 200 OK
    Server: nginx/1.24.0 (Ubuntu)
    Date: Sun, 16 Aug 2026 12:14:02 GMT
    Content-Type: text/html;charset=UTF-8
    Content-Length: 74611
    Connection: close
    Vary: Accept-Encoding
    X-AN-Backend-Host: main-aminet;nginx
    Cache-Control: public
    X-Varnish: 5592974 5592501
    Age: 495
    Via: 1.1 varnish (Varnish/7.1)
    Accept-Ranges: bytes
    "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">n<html><head><title>Aminet - Latest packages, last 14 days</title>n
    ..."
  • »16.08.26 - 10:29
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    asrael22
    Posts: 457 from 2014/6/11
    From: Germany
    Release 0.8 out.

    Now Clamiga comes with Lisp bindings for MUI 3.8 as a base and 4.0/5.0 additions.
    See: Screenshots

    Also set of AmigaOS API bindings for 3.2 (and a curated set for MorphOS) are available natively

    Another big feature: heap images.
    It's now possible to save heap images and load them. For either picking up where you left of when developing, or you can prepare code images with libraries already loaded and package them for applications.

    Checkout the examples at: https://github.com/mdbergmann/cl-amiga/tree/master/examples/amiga

    https://github.com/mdbergmann/cl-amiga/releases/tag/v0.8



    [ Edited by asrael22 31.08.2026 - 20:11 ]
  • »31.08.26 - 18:14
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    asrael22
    Posts: 457 from 2014/6/11
    From: Germany
    I've released a new package version 0.10.

    Among an Emacs inspired editor/IDE with editor, debugger, inspector, etc. it received a lot of fine-tuning. Speed improvements, a lot of documentation in AmigaGuide format and a full set of raw AmigaOS APIs as Lisp bindings.

    For a screenshot of Clamacs:
    https://github.com/mdbergmann/cl-amiga#clamacs-native-editor--ide

    Of course Clamacs and Clamiga are available as native MorphOS binaries.

    debugger.png

    [ Edited by asrael22 15.09.2026 - 12:26 ]
  • »15.09.26 - 11:25
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    OlafSch
    Posts: 196 from 2011/11/16
    Quote:

    asrael22 schrieb:
    I've released a new package version 0.10.

    Among an Emacs inspired editor/IDE with editor, debugger, inspector, etc. it received a lot of fine-tuning. Speed improvements, a lot of documentation in AmigaGuide format and a full set of raw AmigaOS APIs as Lisp bindings.

    For a screenshot of Clamacs:
    https://github.com/mdbergmann/cl-amiga#clamacs-native-editor--ide

    Of course Clamacs and Clamiga are available as native MorphOS binaries.

    debugger.png

    [ Edited by asrael22 15.09.2026 - 12:26 ]


    I have ordered my Claude AI that if I say clisp it is your implementation. I am already looking forward to use AI to create software for different amiga platforms ;)
  • »04.10.26 - 08:19
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    asrael22
    Posts: 457 from 2014/6/11
    From: Germany
    Hmm, I'm not sure how I should take this.

    Are you saying that one should have resurrected CLISP?
    That had been an option I suppose. But I decided against it. In the beginning this was just an experiment. But it evolved quickly (some weeks of work) to a point where I wouldn't want to have wasted all the tokens and my own time.

    Today Clamiga is much more complete than CLISP and a lot more advanced in many, if not all areas.

    Btw: version 0.11 (which I'm about to let go) will allow creating standalone binaries.

    [ Edited by asrael22 06.10.2026 - 09:48 ]
  • »06.10.26 - 08:44
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    OlafSch
    Posts: 196 from 2011/11/16
    Quote:

    asrael22 schrieb:
    Hmm, I'm not sure how I should take this.

    Are you saying that one should have resurrected CLISP?
    That had been an option I suppose. But I decided against it. In the beginning this was just an experiment. But it evolved quickly (some weeks of work) to a point where I wouldn't want to have wasted all the tokens and my own time.

    Today Clamiga is much more complete than CLISP and a lot more advanced in many, if not all areas.

    Btw: version 0.11 (which I'm about to let go) will allow creating standalone binaries.

    [ Edited by asrael22 06.10.2026 - 09:48 ]


    no you not understand me it seems

    Claude for example knows a certain language already, but there is a amiga specific version like yours. So I simply give the link to Claude and say this is my system. It saves the information and scans details. From now on I can say write me a program with it and Claude does that.
  • »06.10.26 - 10:09
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    asrael22
    Posts: 457 from 2014/6/11
    From: Germany
    OK, got it. I thought that I misinterpreted what you wrote.

    Yeah, Claude is very capable. It knows Common Lisp very well.
    The new Clamacs editor/IDE (in 0.11) was completely rewritten in Common Lisp.
  • »06.10.26 - 11:08
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    asrael22
    Posts: 457 from 2014/6/11
    From: Germany
    So here we go. Version 0.11 is out and available on Aminet as well as GitHub.

    This blog post tries to capture the recent highlights, including Clamacs IDE being ported to Common Lisp in the sense of 'eat your own dog food'.

    https://nnamgreb.de/blog/Clamiga+0.11+and+Clamacs

    [ Edited by asrael22 07.10.2026 - 11:05 ]
  • »07.10.26 - 10:05
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    asrael22
    Posts: 457 from 2014/6/11
    From: Germany
    For a quick “what’s new”:

    • Clamacs rewritten in Lisp: The Emacs-style editor/IDE is now a Common Lisp program that ships as a heap image. It also runs on macOS and Linux over a new TCP dev port, so a host Clamacs can drive clamiga on a real Amiga.
    • Standalone executables: ext:save-image with :executable t writes a single self-contained program file. It can be launched from the Shell or a Workbench icon.
    • JIT: There's a new AArch64 backend for Apple silicon and Linux arm64 (PowerPC being on the roadmap). The m68k JIT adds direct native calls, tail calls, &key/&optional/&rest support, and lazy compilation of hot functions.
    • Runtime and GC: GC compaction is faster, which removes allocation stalls on low-end 68020s. Heap image handling, shutdown and 8 MB-machine tuning are also improved.
    • Packaging: There are six Workbench launcher icons (CLAmiga and Clamacs, each for soft-float, FPU and MorphOS).
    • Fixes and compatibility: Many CLHS conformance, FFI, pathname and Windows fixes. The FASL format is now v40 and old caches rebuild automatically.

    Download: https://github.com/mdbergmann/cl-amiga/releases/tag/v0.11

    [ Edited by asrael22 10.10.2026 - 09:57 ]
  • »10.10.26 - 08:54
    Profile