Search Results
7/9/2025, 7:28:09 PM
it's not hard to produce something basic. you will learn a lot by just writing a Lisp where you need to handle a callstack, variable lifetimes, etc. adding closures is interesting.
to produce an interesting language that does cool stuff beyond having a "good syntax" is a far more difficult task.
if you want to start, completely ignore reading about lexers and whatever other bullshit that exists. just write a function that takes a UTF8 string of code and evaluates it using a virtual machine. eventually, for efficiency, you will want to convert that string to bytecode prior to running it. if your language semantics lend well to a static program, then converting that bytecode to C or LLVM or whatever will allow for transpilation.
pic related is a Lisp I made without variadic arguments (hence no need for parentheses). this test demonstrates weird scoping behavior.
to produce an interesting language that does cool stuff beyond having a "good syntax" is a far more difficult task.
if you want to start, completely ignore reading about lexers and whatever other bullshit that exists. just write a function that takes a UTF8 string of code and evaluates it using a virtual machine. eventually, for efficiency, you will want to convert that string to bytecode prior to running it. if your language semantics lend well to a static program, then converting that bytecode to C or LLVM or whatever will allow for transpilation.
pic related is a Lisp I made without variadic arguments (hence no need for parentheses). this test demonstrates weird scoping behavior.
7/1/2025, 5:45:10 PM
Page 1