Common Lisp Archive

I thought I’d write a little post about what I’ve learned over the years regarding some characteristics of clean code. “Clean” here refers to features that help code being bugfree, or rather “less attracted to bugs” maintainable reusable I think these are the three major aspects developers should ultimately strive for when writing

Recently I have worked on owlisp to make it able to compile to C and from there to native binaries or JavaScript via emscripten. I can now announce that there is a first working version that can do both. Please read more details about it here.

I’ve created a simple Emacs Lisp script that let’s you run Common Lisp unit tests in an existing REPL by just a keystroke. Currently it is hardwired to work with the testframework fiveam. For more info check out the repo: https://github.com/olivermg/testmacs

I have recently been struggling to implement transformation of Common Lisp source code to continuation passing style (CPS) in my owlisp compiler. I’m not yet done with that, but after hours of racking my brains, it’s finally on a good way as it seems 😉 . The

I think I need to pivot! What I intended originally was to write a compiler that translates from Common Lisp to LLVM IR. Well, I recently stumbled over this article, that convinced me to make my compiler target the C programming language instead of LLVM IR. There

Hi out there! I am very pleased to announce the first working version of owlisp. By “working” I mean that this is the first version of owlisp that understands some (actually very little) Common Lisp and translates it to a native binary. So it is the first

After reading some more (mostly on the net, but also in books, especially Engineering a Compiler & Modern Compiler Implementation in ML) and wrapping my mind around the whole subject of the internal structure of compilers more and more in detail (especially regarding SSA), I started realizing

owlisp now has an internal SECD virtual machine and compiles expressions to byte-code that this VM understands (see README). I have implemented a VM because I think it might be a nice abstraction layer between the Lisp code and the resulting LLVM-IR and/or Parrot VM IR. It

I have recently been doing a bit of work on owlisp to implement an interpreter. This is meant as a first step towards building the compiler (LLVM frontend) that I am aiming at. But before going into details of my recent work: Using the interpreter The interpreter

I recently stumbled upon a very nice video showing Bodil Stokke talking about her development of the Lisp-like language Bodol, using Clojure. I really like the features that she is incorporating into that language. To a great extent, these are also the features that I would like