LLVM Archive

Switching target language from LLVM-IR to C

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

First working version of owlisp!

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

Working on a runtime & cancelling needless components

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 does now compile to SECD virtual machine code

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

Evaluation environment

I am currently working on the evaluation environment for the owlisp compiler. It is essential for a compiler/interpreter (at least when targeting languages that support mutable state) to support this feature in order to keep track of variable bindings that are in effect at one point or another.

Start with Parrot VM?

Sorry for not advancing on this project during the past two months, but I unexpectedly got involved into an entire recruitment process for a job at Google, so that is what I have been spending thoughts and time on recently. Anyway, since I can now invest time

Dynamic typing <=> Static typing

I am currently working on a type system for owlisp. Obviously, the requirement is that it can map the dynamic nature of Common Lisp types to the statically typed LLVM-IR representation. My current idea of solving this is to represent a Lisp value in LLVM-IR as some

Common Lisp LLVM Frontend

I am currently working on a Common Lisp compiler frontend for LLVM. It is still in its beginning, but as soon as it can do anything useful, I will publish it on github. Does any interest about this topic exist out there? Some more details: Technically, I