My only compiled language.
I wanted to try to make a compiled language with LLVM. I originally was going to make stick (then named "Lance") that compiled language, but realized its stringy types made it not a very interesting target. So I renamed it to stick, and then started working on Lance.
I intended to bootstrap it, but never got around to it. However, it still functions, but it's a bit messy.
Lance is a Rust-inspired language that I designed with the intent of bootstrapping it as soon as possible. As such, the syntax is intended to be fairly minimal to begin with, to make parsing it easier.
I added some things (like tagged enums) later, so they dont have a ton of nice syntax support. I planned on fixing that when I bootstrapped, but never did.
Lance's compiler is... not terrific. It compiles to llvm, but depends on things in the include/ folder. steps:
- Go into
./includeand runmake. It should create anoutdirectory and populate it with a few.llfiles. cdinto the directory containing the.lcfiles, removing theoutfolder if it exists.- Run
/<path/to/lance/folder>/compiler/lance --no-compile, passing-ifor each file you want to compile. You can run this command per file, or just pass multiple-is, both are fine. - run
clang out/*.ll /<path/to/lance/folder>/include/out/*.ll, and your program will be ina.out