Skip to main content

Python implementation of the PLAN instruction set.

Project description

marduk

A standalone Python runtime for the PLAN virtual machine.

Status: pre-alpha. The package is a placeholder — the spec-faithful core, BPLAN op coverage, and jet overlay land in subsequent commits. Until then, callers that need a Python PLAN runtime use packages/plan-kernel/'s vendored harness.

Goals

  • Spec-faithful core. A direct translation of vendor/reaver/doc/plan-spec.txtE/R/H/J/B/S/C/I/X as Python functions over a Thunk-cell value type with update-in-place force. Strictness comes from the spec's ; sequencing, not from Python's evaluation order.
  • Complete BPLAN op coverage. All of Reaver's op 66 named primitives, including the IO family that today's harness stubs.
  • Jet overlay. An optional id-keyed performance layer; correctness lives in the spec-faithful interpreter regardless of jet presence.
  • Differential against Reaver. A small Plan Asm corpus run on both Marduk and Reaver in CI.
  • No coupling to gallowglass. Marduk imports nothing from gallowglass; gallowglass eventually depends on Marduk as a library.

Non-goals

  • Native-speed PLAN execution. Marduk is correctness-first; production workloads belong on Reaver.
  • Hosting Reaver-itself-as-BPLAN. A future possibility once IO ops and performance reach the bar; not in scope for the initial release.

Layout

packages/marduk/
├── marduk/         # Python package
│   └── __init__.py
├── tests/
└── pyproject.toml

License

MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

marduk_plan-0.2.0.tar.gz (47.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

marduk_plan-0.2.0-py3-none-any.whl (35.2 kB view details)

Uploaded Python 3

File details

Details for the file marduk_plan-0.2.0.tar.gz.

File metadata

  • Download URL: marduk_plan-0.2.0.tar.gz
  • Upload date:
  • Size: 47.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for marduk_plan-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1b64fbd5c096d0144613475c0c368d66b7e963acffcd3e0b650c25db7c52afe2
MD5 ed9a260937887b6646ba7cd0e4e8615a
BLAKE2b-256 3e9bfbd2cb7d7976e7bc7229907a9c84bcd5d4dc938750c14080f0623fb0b715

See more details on using hashes here.

File details

Details for the file marduk_plan-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: marduk_plan-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 35.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for marduk_plan-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d0d49901ab27c4118a9e89cfd4fdcd8be3b731f47135f415b43300ada35c2e96
MD5 85d92aaeb506cbcd8fe25c48358ae1ed
BLAKE2b-256 e100ea30370e617f74e47700fa5bcc95f6d107aa010a2104617429959895c224

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page