Skip to content

Latest commit

 

History

History
36 lines (25 loc) · 1.23 KB

File metadata and controls

36 lines (25 loc) · 1.23 KB

Contributing to Hypercode

Hypercode is both a specification (RFC, formal grammar & semantics) and a Swift reference implementation. Most code changes go to the implementation; language changes start in the specs.

Build & test

swift build
swift test          # the reference implementation

Optional oracles:

  • ANTLR conformance oracle (.hc parsing): make -C EBNF test-all (needs Java).
  • Lean cascade oracle: cd SPEC/lean && lake build (needs the Lean toolchain).

Conventions

  • Grammar, validation, and cascade rules are SpecificationCore specifications (Specification / DecisionSpec) — the 0AL house style. New rules follow it.
  • Keep core minimal: practical / domain features belong in consumer dialects, not in core .hc (see DOCS/Dialects.md).
  • New behavior needs tests. Resolver changes should keep the conformance fixtures and the Lean oracle in agreement.

Layout & docs

See the README, the architecture overview, and the work plan.

Pull requests

Branch from main, keep PRs focused, and make sure swift test is green. CI runs build + tests, the grammar tests, and the DocC build on every PR.