~singpolyma/dhall-ruby

ref: 7a3a7bc998acbbeb6859580db2455297d81459c7 dhall-ruby/test d---------
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.
Document Dhall::Coder
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
as_dhall for Symbol
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
Add as_dhall refinement
Next