Update and run latest alpha-normalization tests
Update to latest dhall-lang
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.
Dhall::Coder
Full "to basic ruby types" deserializing, set up as a drop-in for
ActiveRecord::Base#serialize
Encoding binary string as List Natural
Certainly better than an error, and gives the dhall side access to the
individual bytes.
Update handling of builtins
Always parse to a special value and not to variables.
Encode seperately.
largeExpression works now, but is slow
So only run in CI
Parse expression from ENV var import
Instead of the path-only support from before.
Fail fast when encoding is bad
Speed up tests by not resolving when not needed
Test everything the README says