Dhall for Java 0.3.0
This release updates the supported Dhall language version from 15.0.0 to 16.0.0. All modules are guaranteed by MiMa to be binary compatible with their 0.2.0 versions.
Status
The status of this release is the same as for 0.2.0: we believe that it's 100% standard-compliant, and all of the Dhall acceptance tests are passing. There are several known issues:
- The parser cannot parse records or other nested structures more than around a thousand layers deep.
- The type checker is also not stack-safe for deeply nested records.
- There could be cases where printing expressions doesn't produce valid Dhall code.
- Fully standard-compliant import resolution requires a Scala dependency (dhall-imports).
This is still a very new project, and there are likely to be many bugs that we don't know about. Please use with care.
Bug fixes
This release includes a fix for the normalization of partially-saturated built-ins. Previously we followed dhall-haskell in reducing Natural/fold
, List/fold
, and Optional/fold
when possible, even if they were not fully saturated. We now follow the language specification in only reducing fully-saturated built-ins.
This release also includes a fix (#57) by @amesgen for a bug (#56) in the escaping of quotation marks in the YAML exporter.
JavaScript support
Since 0.2.0 we've also introduced support for building JavaScript artifacts via Google's J2CL transpiler, providing a minimal JavaScript API for Dhall parsing, normalization, and type checking in 240K of (minimized) code. We aren't currently distributing these artifacts in any way, but we're hoping to change that in the near future. Please see #58 and #64 for details.