Specification
From syntax.
To semantics.
How types constrain values. When computations are evaluated. Where side effects occur. Read Jvav’s definitions, examples, and open questions.
Working draft
The Jvav working draft.
The current draft covers values, pure computation, access capabilities, transitions, deferred evaluation, and context dependencies.
Start with what interests you.
These links open the corresponding chapter in the PDF.
Types and modifiers
Values, representations, and modifier dimensions
Effects and purity
Pure computation and its optimization boundaries
Views and mutable capabilities
Access rules for view and mut
State transitions
Computation, preview, and explicit application
Deferred evaluation
Explicit deferral and when computation is demanded
Context dependencies
Typed inputs supplied by the calling environment
Libraries and platforms
The boundary between language and backend
Open design questions
Rules that still need a design decision
The open questions are part of the draft.
Unsettled rules for lifetimes, capture, ownership, and transition validity are marked Pending. The complete member const / auto model is not yet included in this edition; multi-target compilation remains a development direction.
Explore the language designNew to Jvav?
Start with a few functions and computations to get a feel for the language.
Take the language tour