Skip to content

Dhall for Java 0.1.0

Compare
Choose a tag to compare
@travisbrown travisbrown released this 14 Apr 11:59
· 138 commits to master since this release
v0.1.0
5b62bc1

This is the first release of the Dhall for Java project.

Status

Please note that this release is not 100% standard-compliant, and has several known issues:

We're working on fixing these issues, but we believe that they're unlikely to affect normal usage, and we're publishing this release as a preview.

Modules

This release includes the following pure Java modules:

  • dhall-core is a Java library with no dependencies that provides β- and α-normalization, type-checking, printing, CBOR encoding and decoding, and (basic) JSON export.
  • dhall-parser is a Java library that depends only on dhall-core and that supports parsing strings and input streams as Dhall expressions.
  • dhall-yaml is a Java library that depends only on dhall-core and SnakeYAML and that supports exporting Dhall expressions to YAML.
  • dhall-imports-mini is a Java library that depends on dhall-core and dhall-parser and supports basic import resolution (no remote imports and no caching).
  • dhall-prelude is a Java library that depends only on dhall-core and provides a "pre-compiled" version of the Dhall Prelude.

There are also several Scala modules that are cross-published for Scala 2.12 and 2.13:

  • dhall-scala is a Scala wrapper for dhall-core, dhall-parser, and dhall-imports-mini.
  • dhall-scala-codec provides type classes for converting Dhall expressions to and from Scala types.
  • dhall-imports is a Scala library that depends on http4s and that provides a more complete implementation of import resolution than dhall-imports-mini.
  • dhall-testing provides ScalaCheck type class instances for dhall-core's Expr for use in property-based tests.
  • dhall-circe provides conversions between Dhall expressions and Circe's JSON representation.
  • dhall-jawn provides support for converting Dhall expressions to the JSON representation of any other Scala JSON library that has a Jawn facade.
  • dhall-javagen takes the dhall-core representation of a Dhall expression and generates Java code that will build the dhall-core representation of that expression (used to create dhall-prelude).

Please see the general project description for more information about these modules.