MonoidMusician/dhall-purescript

Updates

Closed this issue · 2 comments

A place to track updates I need to make to match the current standard/Haskell implementation:

  • Polykinds
  • Associative simplifications
  • constructors deprecation
  • multi-let
  • Monadic normalization
  • normalizeWith top-down
  • Remove old union literals
  • Normalize merge with union fields
  • Aggressive record merge normalization
  • Mixed record type judgments
  • Unicode parsing

@MonoidMusician: I wouldn't worry too much about matching the Haskell implementation exactly. A lot of the extra stuff in the Haskell implementation is just so that people can customize Dhall for their internal use cases. I think the most you probably want to do is add support for adding custom built-in functions

For right now I suggest focusing on implementing the standard before you worry about making it as customizable as the Haskell implementation

Okay, thanks for the advice! I actually do want monadic normalization for a different reason too: I want to make it lazy and stick WriterT over the top (with booleans under conjunction), so I can get a reasonably performant isNormalizedWith for free from that 🙂 But I think I will make another issue specifically for implementing the standard, so I can better focus on that and keep track of it too!