Refactor RecordProjection typecheck
Refactor some of typecheck
Get closer to fitting the metrics
Clean up style violations
Implement integrity checks
Always encode OptionalNone in new style
Flatten/unfill applications and builtins when encoding
Remove multi-argument applications
They only exist in binary encoding, so let's keep them there.
Support headers for HTTP import
Binary encoding
Every AST node uses as_json to express the generic structure for
encoding itself. Expression aliases as_cbor to as_json by default and
then uses as_cbor in to_cbor (aliased as to_binary).
This design is because we need to override the encoding of Double for
CBOR, but want to keep the normal Float value for as_json in case that
is used directly (to avoid surprising the user).
If trying to import from IPFS, fallback to gateway
First pass at import resolution
Generic subexpression_map
Make every Expression a ValueSemantics and use the known list of
attributes to map generically over any AST node.
Introduces a conditional, but removes boilerplate from every single
class.
Migrate to dhall-langv6.0.0
Bare minimum refactor to pass the metrics
Pass most compliance tests
No import or multiline string support yet