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 putbin
on your executable search path.
Further Reading
Commit History
@improve-evaluator
git clone https://git.catseye.tc/UampirNexol/
- Checkpoint, but I'm not sure this is worth doing at this time. Chris Pressey 7 days ago
- Describe situation of the evaluator code better. Chris Pressey 7 days ago
- Make compilable with ghc 8.x. (untested) Chris Pressey 8 days ago
- Command-line option refactor. Generate BASIC header PRG files. Chris Pressey 9 days ago
- Arrange routines better in, and simplify, code serializer. Chris Pressey 9 days ago
- Improve documentation and refactor. Chris Pressey 9 days ago
- Generate RTS at end of subroutine, and measure its length properly. Chris Pressey 9 days ago
- Include addresses in subroutine calls, and refactor serializer. Chris Pressey 9 days ago
- Actually start extracting multiple routines from the expression. Chris Pressey 10 days ago
- Clearly label as a work in progress. Chris Pressey 10 days ago