writeonce/.gitignore
shoney.arickathil 5e61b91308 docs: OOP compiler + VM core design spec (milestone 1)
docs/superpowers/specs/2026-08-01-oop-compiler-vm-design.md (new): approved brainstorming design for the OOP-writeonce track's first sub-project — `woc` (OCaml, stdlib-only, handwritten lexer/recursive-descent parser) compiling `.wo` classes to register bytecode, and `wovm` (C, libc-only) interpreting it. Decisions locked: evolve wo-rt-c into the C runtime (Rust rt stays until parity); plan-13 doctrine kept (no inheritance — structural Go-style interfaces + composition); hybrid borrow enforcement (mutable value semantics, second-class borrows — compiler elides provable sites, VM checks residual sites via header borrow word); per-class @gc opt-out with RC + budgeted per-shard Bacon–Rajan cycle scan (no stop-the-world by construction); shard-actor concurrency reserved (header carries shard id, implementation is sub-project 2); root-level monorepo dirs compiler/ + runtime/ (nothing new under prototypes/). Spec covers .wob module format, ~40-op instruction set, trap/unwind error model with drop maps, conformance-corpus test strategy (run/must-fail-compile/must-trap), and measurable success criteria (<100 ms compile, ASan/Valgrind-clean suite, single-binary build).
2026-08-01 19:50:11 +02:00

53 lines
1.6 KiB
Text

# Cargo build artifacts
/target
/reference/crates/target
# C++ prototype build output
/prototypes/*/build
# C runtime prototype (prototypes/wo-rt-c): compiled binary + WAL/snapshot data.
# `just rt-c-demo` and the default WO_DATA write ./wo-data at the repo root.
/prototypes/wo-rt-c/wo-rt
/wo-data
/prototypes/wo-rt-c/wo-data
# Runtime data directories for the sample projects.
# `wo.toml` points at `./data` which holds the per-project engine state.
/data
/docs/examples/*/data
# Legacy blog content and data (v1 writeonce storage)
/content
# Symlinks to research source trees — user-specific absolute paths.
# Each contributor sets their own via:
# ln -s <path-to-linux-src> reference/linux
# ln -s <path-to-go-src> reference/go
# ln -s <path-to-postgresql-src> reference/postgresql
# ln -s <path-to-mcp-python-sdk-src> reference/mcp-python-sdk
# (clone: https://github.com/modelcontextprotocol/python-sdk.git)
/reference/linux
/reference/go
/reference/postgresql
/reference/mcp-python-sdk
# Developer-local links into agent-tooling state (Claude Code project data,
# opencode config/data, llama.cpp cache) — user-specific absolute paths.
# Only .dev/README.md is committed; recreate the links per machine as it describes.
/.dev/*
!/.dev/README.md
# Editor / OS noise — left broad on purpose so a contributor doesn't
# accidentally commit their IDE scratch or macOS metadata.
.DS_Store
*.swp
*.swo
/.idea/
/.vscode/*
!/.vscode/settings.json.example
!/.vscode/extensions.json
/prototypes/wo-db
# Phase-F bench binaries (sources are committed; builds are not)
/prototypes/wo-rt-c/bench/bench
/prototypes/wo-rt-c/bench/goref/goref