Do not commute generally The operator is commutative, but that doesn't mean x == False should become False == x upon normalization.
Switch IntegrityCheck encoding to multihash
Split IntegrityCheck and NoIntegrityCheck
Split IntegrityCheck and NoIntegrityCheck
Refactor builtins The fill/unfill code is much simpler now
IntegrityCheck stores raw hash internally
Disambiguate hoisted union tags properly An array may contain two nomnatively-equivalent types who are structurally different -- so they need different (but related) union tags since they will not share a type.
Enum should not have itself in the alts
More useful to_s for AST nodes
Facility to flatten let blocks
Add new useful facilities to Function
as_dhall for Proc Cannot actually serialize this, but can be useful for passing functions in to Dhall functions, etc.
Update to latest dhall-lang
Split Union and Enum Stop putting special case conditionals for Union#value.nil? everywhere and just split the classes.
Customizable cache Caches implemented in this commit: StandardFileCache - cache conforming to dhall-lang RamCache - stores in a hash, meant for single-load caching NoCache - when you want to be sure
Timeout mechanism Sets timeouts in HTTP readers, checks for deadline exceeded before each resolution step, and uses Timeout::timeout for pure-ruby computations.
Fix Typo Dhall::Text is obviously the Text builtin, not the Double one.
Do not load if already loaded In case the resolver has some values already
Update handling of builtins Always parse to a special value and not to variables. Encode seperately.
Normalize text concat as interpolation