Skip to content

John Shutt's "Kernel" language implemented on ABE (C) 64-bit runtime.

Notifications You must be signed in to change notification settings

organix/kernel_abe64

 
 

Repository files navigation

John Shutt's "Kernel" language implemented on ABE (C) 64-bit runtime. A previous implementation targeted 32-bit platforms.

This implementation is built in layers. The lowest layer is ABE, an Actor-Based Environment written in C. The actor design for the Kernel interpreter is based on a proof-of-concept written in Humus, and described in "Semantic Extensibility with Vau". In fact, most of the C code for the ABE actor behaviors is prefaced by corresponding Humus source (in comments). The result is an interpreter for a Kernel-inspired language, which reads from source files and the interactive console.

Using Docker

The Docker container environment provides a stable portable target platform for our project. Create a Docker image named abe64 in which to compile and run Kernel.

docker build -t abe64 .

Compile and test the abe and kernel programs within the abe64 Docker image.

docker run -v $(pwd):/src --rm -it abe64

Run the Kernel binary in iteractive mode.

docker run -v $(pwd):/src --rm -it abe64 ./kernel -i 

There are a few Kernel source files (with .knl extensions) which may be pre-loaded into the environment by naming them on the command line. For example, library.knl contains standard library definitions.

docker run -v $(pwd):/src --rm -it abe64 ./kernel -i library.knl

About

John Shutt's "Kernel" language implemented on ABE (C) 64-bit runtime.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 97.7%
  • C++ 1.8%
  • Other 0.5%