Skip to content

Add NOVA — capability + effect-typed research-preview language - #529

Open
Hesara2003 wants to merge 1 commit into
ChessMax:masterfrom
Hesara2003:add-nova
Open

Add NOVA — capability + effect-typed research-preview language#529
Hesara2003 wants to merge 1 commit into
ChessMax:masterfrom
Hesara2003:add-nova

Conversation

@Hesara2003

Copy link
Copy Markdown

Adds NOVA to the N section (alphabetical, between North-Hollywood Python and Nosica) and bumps the N-section and total counts.

NOVA unifies object-capability security and row-typed effect systems: authority to touch the outside world is an unforgeable token passed explicitly (never an ambient import), and a function's effects are part of its checked type signature — so a closure that captures a capability can't be passed where a pure function is expected (checked statically, not just documented).

Honest status disclosure since this is early: it's a 0.2 research preview. What's implemented and tested is the frontend (lexer/parser/type inference/effect+capability checker) and a reference interpreter, with a 49-test conformance suite and CI. A first-order native C backend exists for a subset of the language. The project's docs also describe a much larger platform vision (distributed runtime, WASM frontend, etc.) that is explicitly marked design-only, not implemented — the README and docs/known-issues.md are direct about the gap.

NOVA (ieeecsopen/NOVA) unifies object-capability security and row-typed
effect systems: authority is an unforgeable token passed explicitly, and
a function's effects are checked as part of its type signature, so a
closure cannot silently launder captured capability into a pure-typed
context. 0.2 research preview — the frontend type/effect checker and a
reference interpreter are implemented and tested (49-test conformance
suite); the platform-scale features in its design docs are not.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant