Skip to content

EmmaTheMartian/taiyo

Repository files navigation

Taiyo

This repository contains the source code for Taiyo, Hoshi, and HIR.

Table of Contents:

  1. Taiyo - 太陽 (Sun)

    a. Build Guide

  2. Hoshi - 星 (Star)

  3. HIR (Hoshi Intermediate Representation)

  4. File Structure

  5. Resources

  6. Credits and Attributions

Taiyo - 太陽 (sun)

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 Guide

./build.vsh all
# or without V:
sh build.sh libhoshi hoshi hir

That's it <3

Hoshi - 星 (star)

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 - Hoshi Intermediate Representation

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.

File Structure

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

Resources

  • 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

Credits and Attributions

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published