This repository contains the source code for Taiyo, Hoshi, and HIR.
Table of Contents:
-
a. Build Guide
A LISP-like, dynamically typed, metaprogrammable, and functional programming language.
Goals:
- Extremely powerful compile-time programming. All code is valid at run-time and compile-time.
- No garbage collector, but no manual memory management either.
- Compiles to HIR (Hoshi Intermediate Representation).
- Interoperability with C.
./build.vsh all
# or without V:
sh build.sh libhoshi hoshi hirThat's it <3
A stack-based runtime/VM designed specifically for Taiyo.
The Hoshi VM is what makes Taiyo capable of weaving compile-time and run-time code together.
HIR is an IR/ASM for Hoshi. It has a simple compiler which writes the bytecode to a .hoshi file, which is then given to Hoshi for execution.
doc/ - documentation for Taiyo, Hoshi, and HIR
external/ - external, non-submodule repos; this folder is in .gitignore
src/
hir/ - source code for HIR
hoshi/ - source code for Hoshi
taiyo/ - source code for Taiyo
tests/
hir/ - tests for HIR
hoshi/ - tests for Hoshi
taiyo/ - tests for Taiyo
- Crafting Interpreters
- I cannot give enough praise to Robert Nystrom for this masterpiece of knowledge. If you want to make an interpreter, absolutely use this book. It's completely free on the web too <3
- SipHash C Implementation https://github.com/majek/csiphash/, license: MIT