This repository is a collection of experiments of language definition with the Spoofax language workbench, primarily to test the Statix meta-language for static semantics definition.
The modules
and paris
projects define a language with modules and records following the examples from the ESOP'15 and PEPM'16 work on scope graphs and constraint-based type checking, but using the Statix language from the OOPSLA'18 paper.
The projects were driven to provide examples for various talks:
- Statix: Declarative Type System Specification (Portland, Feb 2019)
- Type Checkers from Declarative Type System Specifications in Statix (Paris, Feb 2020)