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!