Getting started
Install
Section titled “Install”Install Hull from the Chelis-Lang GitHub org using reef:
chelis reef install --from-github Chelis-Lang/hull@v0.1.7Verify the installation:
chelis hull --versionCheck a program against the spec
Section titled “Check a program against the spec”Pass a Deep source file to Hull's reference type checker:
chelis hull check myprogram.deepHull derives the type and effects of the program according to the formal typing rules, then prints the result. If the program is ill-typed under the spec, Hull reports the rule that fails and the subterm responsible.
Compare spec output against compiler output
Section titled “Compare spec output against compiler output”Run the compiler's type checker and Hull's reference checker on the same file, then diff:
chelis check myprogram.deep > compiler.outchelis hull check myprogram.deep > spec.outdiff compiler.out spec.outAny difference indicates a divergence between the implementation and the specification. The same pattern works for evaluation:
chelis eval myprogram.deep > compiler.outchelis hull eval myprogram.deep > spec.outdiff compiler.out spec.outDisagreements in either direction are worth investigating: the compiler may have a bug, or the spec may need a correction.