Beskid Specification
Document index:
- glossary-and-conformance.md
- lexical-and-syntax.md
- types.md
- memory-and-references.md
- enums-and-match.md
- control-flow.md
- modules-and-visibility.md
- error-handling.md
- contracts.md
- name-resolution.md
- type-inference.md
- method-dispatch.md
- code-style-and-naming.md
- standard-library-api-shape.md
- metaprogramming.md
- events.md
- lambdas-and-closures.md
- ffi-and-extern.md
Note: v0.1 intentionally avoids complex features (async, runtime reflection, etc.).
Generator model and broader metaprogramming scheduling are tracked as drafts outside the v0.1 spec:
docs/guides/drafts/metaprogramming/metaprogramming.md
Standard library module-level contracts are documented in docs/standard-library/.
Grammar coverage checklist
Section titled “Grammar coverage checklist”- Comments: line
//and block/* ... */ - Keywords list (incl.
when,ref,out) - Literals: int, float, string, char, bool, string interpolation
- Modules:
mod,use,pub use - Types: primitives, generics, references, arrays
T[] - Type definitions (
type) and struct literals (Type { ... }) - Enums and enum constructors (
Enum::Variant(...)) - Contracts (
contract) with embedded contracts, method signatures, and explicit conformance declarations (type Type : ContractA, ContractB) - Attributes: declaration (
attribute Name(...) { ... }) and application ([Name(arg: expr)]) - Functions and methods (
impl Type { ... }, implicitthisreceiver in methods) - Statements: let/mut, if/else, while, for-in expression (including range fast-path), return/break/continue
- Expressions: precedence, calls, member access, match with
whenguard