ref: ca1cda0acce5391041a593d50a1fd4928864fac4 dhall-ruby/lib/dhall/typecheck.rb -rw-r--r-- 32.8 KiB
Support mixed-kind records
Fix for new Set#=== in newer Ruby

Because breaking things is point releases is how Ruby rolls.
Pass newly added tests
Implement dependent types, assert : A === B
LetBlock is just sugar now and not part of the AST
Add Natural/subtract
Exotic list annotation changes
Useful helper for the common typecheck cases
Refactor projection typecheck
implement as Location and use URI internally
Record projection by expression / type
Update to latest dhall-lang

* Allow selection from union Kind or Sort
* End of line is always \n (for multiline test case)
* Multiline of only blank lines should not error
Refactor builtins

The fill/unfill code is much simpler now
Normalize list element types before comparing
Allow typechecking filled builtins
Split Union and Enum

Stop putting special case conditionals for Union#value.nil? everywhere
and just split the classes.
Update handling of builtins

Always parse to a special value and not to variables.
Encode seperately.
Add as_dhall refinement
Run all dhal-lang typecheck tests