Hi, always wanted to create a toy lisp compiler in LLVM for some reason, but never had the time to get it working.
Took a new stab at it with Claude 3.7. Got a working version up in less than 8hrs in total with passing tests! Never wrote a single line of
code. I would estimate the number of cursor iterations to about 500.
Process was: 1. Ask Claude to create a boiler plate JIT in LLVM (see
below shared chat) 2. Asked Claude on the architecture and what classes should be created (did this in cursor): - lexer - parser - AST - Code
gen 3. Implemented each part separately, lexer, parser and AST took 1hr, codegen took ~7hrs.
It can define variables, functions and do some basic stuff: try: (defn factorial [n] (if (= n 0) 1 (* n (factorial (- n 1))))) (factorial 5)
Hope you like it!
Here are some chats if you are interested in the first part of the
coding (the rest was done in cursor):
LLVM - https://claude.ai/share/3c5a1f92-389f-4274-8348-dcceaee8f140
Lexer - https://claude.ai/share/fa32b8bd-0b8e-4faa-bc09-fc3dd9bb5ad3
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 59 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 19:23:55 |
| Calls: | 810 |
| Calls today: | 1 |
| Files: | 1,287 |
| D/L today: |
10 files (21,017K bytes) |
| Messages: | 193,978 |