Phi is a toy language implementation to learn/play-with programming language design, compiler architectures, byte code generation, virtual machines and byte code interpretation, byte-code to assembly conversion, and optimizing compiler techniques.
There are a few primary use cases that the language is being designed for (primarily focusing on my educational benefit), but ideally it would be suitable for most computing from embedded programming upto use as an interpreted REPL
- Machine learning / Neural networks
- Evolutionary computing / Genetic programming
- Self hosting compilation
- Embedded Programming
- Game development
- General computing
The bootstrapping compiler is being written in Go.
See the compiler overview for the compiler "architecture".
See the language design notes for the reasoning behind many design decisions.
See the grammar for the currently planned language syntax.
See the examples folder for source code examples of how the language
might be used (I recommend the feedforward network).
Primarily for educational use, but see the license