Skip to content

aripiprazole/sol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sol

Incremental/single-pass based compiler, the API can be either used for Single-Pass Compiling and for building LSP, or things that would need incremental pipelines. It's a study project of mine for studying incremental compilers and package-managers.

The project is still being developed, and the table of contents is:

The objective of this project is:

  • Dealing with language-servers, and direct support for Visual Studio Code
  • Having a full-featured CLI for building, and packaging libraries for Sol
  • Lowering to LLVM-IR, and executing JIT
  • Error-resistant compiler, like having a compile-time error, and still can compile, because the error fall onto the runtime
  • Interpreter for basic things like macro-expanding.
  • Query-based architecture.

It's all based on the works:

And have some great inspirations in rust-analyzer code-base..

Running

Clone the repository with git submodule update --recursive --remote

Garbage-Collection

The goal of this compiler isn't optimizing things, it's more like an IDE, so the garbage collector is based on Reference Counting.

License

Sol is distributed under the terms of the MIT license.