Skip to content

qgcarver/ContinueForth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ContinueForth

Where we're going, we don't need variables

Currently a work in progress going under heavy changes internally.

This is a reference bootstrapping evaluator for AMD64 processors that will bootstrap a minimal stack-based language which uses two stacks, one stack for quoted programs of combinators/higher-order-functions and another stack that holds the continuation. Hopefully it will serve as a nice proof-of-concept for an extremely small implementation of a stack-based (non-pure) functional language, which allows for radical self-modification using a stack-based format for data and code which is fully type reconstructed/inferred and can be targeted from an array of language compilers, paired with a retargetable infrastructure.

The typechecker, platform-specific optimizations and additional features will be made available via powerful self-patching capabilities written in the hosted language itself, with a few built-in primitives for x86 which allow allocating and writing to executable memory and loading libraries written in the aforementioned data format, which can replace built-in functionality.

The interpreter is designed to make it straightforward to re-implement the loader and evaluator via other host languages/operating systems.

About

Where we're going, we don't need variables

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published