Prefer double quotes for strings
Update and run latest alpha-normalization tests
Initial dhall-compile script
Add to build that after tests pass we compile the whole Prelude
Fix for stack level too deep on long comment
Allow typechecking filled builtins
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
Handle self-describe tag anywhere
Fix for substitute on LetBlock/LetIn
Improve the multiline algorithm
Require that the whitespace being stripped is a common prefix.
Allow tabs and blank lines in multiline strings
Hoist single-label enum into array
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
Default max import depth of 50
So even without a timeout, there is a limit on bonkers cases.
Standard resolver defaults to INIFINTY since the standard does not
define a depth limit.
Timeout mechanism
Sets timeouts in HTTP readers, checks for deadline exceeded before each
resolution step, and uses Timeout::timeout for pure-ruby computations.
Update text-or-binary heuristic
The `cbor` gem is a bit janky and it turns out catching NoMemoryError is
not safe, so use an encoding-based heuristic to detect binary vs utf8
data.
Update to dhall-lang 7.0.0