Skip to content

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.

Notifications You must be signed in to change notification settings

kestred/philomath

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Phi (.φ) - Philomath

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

Implementation

The bootstrapping compiler is being written in Go.
See the compiler overview for the compiler "architecture".

Design

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).

License

Primarily for educational use, but see the license

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages