git @ Cat's Eye Technologies UampirNexol / improve-evaluator
improve-evaluator

Tree @improve-evaluator (Download .tar.gz)

UampirNexol

Work in progress

UampirNexol is a proof-of-concept implementation of Machine State Combinators. To quote that article:

We are interested here, not in designing a high-level language with good code-structuring facilities that compiles to a given machine language, but in designing a low-level language, hardly distinguishable from a given machine language, that nevertheless has good code-structuring facilities.

It is a language in which MOS 6502 machine language programs can be expressed as functions which map machine states to machine states. These functions are used as combinators which are composed in the manner of Function-level programming. Once a complete program is constructed from these functions, 6502 machine code can then be extracted that can be executed on a 6502-based computer.

For a fuller description of the language, see the file doc/Definition-of-UampirNexol.md, which gives a definition of the language as a literate test suite written in Falderal.

Quick start

  • Install ghc. (tested with version 9.2.8)
  • Clone this repo.
  • cd into the repo directory.
  • Run ./build.sh.
  • The resulting executable will be found in bin. If you like, you can put bin on your executable search path.

Further Reading