a47f5bcd13
docs: compiler front-end specifications and plans (Tasks 2-6)
...
- Plan docs: architecture, woc front (Tasks 2-7), emit+e2e (Plan 3), Haxe parity (Plan 8)
- nullable-types implementation plan
- Iteration 3: compiler front story
- Specs: systems track, blue-green VM, log-watcher sample, OOP compiler/VM
- Principles + project structure
- Kanban updated with compiler front-end progress
2026-08-10 09:11:04 +02:00
012562290d
feat(compiler): Tasks 1-4 — scaffold, diagnostics, lexer, declaration parser
...
- Task 1: OCaml/dune scaffold with woc CLI (exit codes 0/1/2), just woc-build/woc-test
- Task 2: Diagnostics module — WO-E coded diagnostics with excerpts, related sites, ordered dedup collector, exit-code decision
- Task 3: Newline-significant lexer mirroring rt conventions (self/me/subscribe/insert stay idents), --dump-tokens, golden test framework with bless mode
- Task 4: Declaration parser — class/type/interface/fn signatures, @gc/@table annotations, brace-depth skip-on-block (service/policy/on), decl-level recovery, --dump-ast goldens
- 13 golden fixtures (tokens + AST) with WOC_BLESS=1 support
- just woc-test green (14 diag + 93 runner checks)
2026-08-10 09:00:08 +02:00
ad806c415d
feat(compiler): nullable types (?T) support
...
- ast.ml: Added Nullable variant to field_ty; param.ty/method_sig.ret/method_decl.ret now use field_ty
- parser.ml: Parse ? prefix for field types, return types, parameters
- dump.ml: Render ?T in --dump-ast output
- types.ml: New typechecker (Task 6) with nullable field-kind derivation (WO_K_NULLABLE=6)
- dune: Added types module
- Added golden test fixtures for nullable types and statement/expression parser
- Added implementation plan doc
2026-08-10 08:39:29 +02:00
c8adc7230d
add skills as symlinks
2026-08-08 05:33:19 +02:00
bbd4673005
remove scrap
2026-08-08 05:01:33 +02:00
44e32da9d2
have the .dev ready
2026-08-07 19:57:05 +02:00
801bf8f26a
language-runtime-database iterations
2026-08-07 19:36:49 +02:00
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
10cf6e4737
postgress as mirror database
2026-07-15 01:27:55 +02:00
7ae3a20af1
every class with @table anotation is queriable table
2026-07-15 00:44:09 +02:00
1aa0defbd3
next oer board
2026-07-12 05:47:40 +02:00
45b96f0466
# writeonce - method execution
...
POST /api/products/1/set_price -d '{"amount": 4999}'
2026-07-12 05:43:49 +02:00
e5203b289d
more on mcp streamable http
2026-07-12 05:10:22 +02:00
7a2e09cd19
Update plan with kanban
2026-07-12 04:25:49 +02:00
619aa74933
laanguage prototype
2026-07-12 03:40:30 +02:00
929b2802c4
add wo-rt-c: C runtime prototype, phases A-F shipped
...
prototypes/wo-rt-c — single-file C reference of the writeonce runtime
layer, zero deps beyond libc + kernel uapi: thread-per-core io_uring
event loops (raw syscalls, no liburing), SO_REUSEPORT listeners, one
mlock'd mmap arena sharded by address, WAL dual-write with group commit
(HTTP ack only after the fsync CQE), boot-time snapshot + WAL replay
recovery, and a bench harness with a Go net/http comparison server.
Measured on 20 cores: 908k reads/s p99 154us and 643k fsync-acked
commits/s p99 177us on 8 shards, vs Go net/http 495k/355k (no
durability) on 20 cores. Crash-under-load testing found and fixed an
ack-before-fsync race and an fd-reuse ABA hazard in commit-ack parking.
docs/plan/exploration/c-runtime — the phased plan (00, exit evidence
per phase), the one-address architecture trace (01), and the
single-binary end-goal contract (02). justfile carries the demo and
bench recipes; .gitignore covers binaries and data dirs.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 23:05:13 +02:00
c8f76484f4
explore postgres code base
2026-05-05 00:26:49 +02:00
ce02f742fc
move to folder exploration
2026-05-05 00:15:18 +02:00
e06db83934
add http runtime
2026-05-04 23:50:16 +02:00
2525eaf39b
single thread event loop runtime
2026-05-04 23:16:10 +02:00
21b3f1d894
adding a app-web-UI prototype
2026-05-04 22:56:28 +02:00
9279175f26
scaffold sibling crates, multi-app ecommerce, REST + concurrency docs
...
- scaffold 14 placeholder crates (app, db, engine, gen, http, logic,
policy, ql, service, sub, txn, ui, value, wal) — empty Cargo.toml +
src/lib.rs to receive code phase-by-phase from `rt`
- restructure docs/examples/ecommerce into multi-app layout: apps/admin
and apps/storefront, with shared/ types/logic/components, per-app
app.wo + wo.toml, and reusable .htmlx components (layout, money,
order-row)
- add reference/rest/{blog,ecommerce}.rest — VS Code/JetBrains HTTP
request files driving the running prototype, including 501/404/405
expectations for stubbed endpoints
- add docs/plan/09-concurrency-scaleout.md and docs/plan/ui/00-overview.md;
refine docs/plan/assembly/02-writeonce-stance.md
- refresh templates (about, article, header/footer, home, layout, styles)
and add static favicon/logo
- add infra/sync.sh and tighten .gitignore for reference/ symlinks
2026-05-04 13:39:58 +02:00
2af90a5dd1
add go source code as reference
2026-04-21 05:34:04 +02:00
d66411b4a0
move blog prototype to reference
2026-04-21 03:30:18 +02:00
0e91044153
abstract syntax tree and parser prototype
2026-04-21 03:28:25 +02:00
ccf95a8329
writeonce language prototype for simple blog and ecommerce
2026-04-21 02:53:15 +02:00
c93915a3cd
Pivot to the .wo language runtime: design docs, phase plans
2026-04-21 02:48:45 +02:00
43b9bc689a
Merge branch 'master' of github.com:shoneyJ/writeonce
2026-04-05 00:49:11 +02:00
c32e482a58
begin
2026-04-05 00:45:02 +02:00
fefd47454d
first commit
2026-04-05 00:25:27 +02:00