ref: 7f636a8e64f190fbca72ae31abb34f72632b57ea dhall-ruby/lib/dhall/util.rb -rw-r--r-- 2.0 KiB
Allow as_dhall to be customised by encode_with

Dhall has a goal to replace YAML.  Ruby's ecosystem already has deep
integration with YAML (specifically with the Psych implementation in
stdlib) -- so if an object customises its YAML encoding, but doesn't
know about Dhall, customise the Dhall encoding in a compatible way.
Remove hardcoded list of builtin names
Refactor OperatorListConcatenate typecheck
Refactor AnonymousType typecheck
First pass at import resolution
Try on generic visitor
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
Implement many builtins and do Optional section