Skip to content

dhall-1.21.0

Compare
Choose a tag to compare
@Gabriella439 Gabriella439 released this 07 Mar 05:11
e392657
  • Supports version 6.0.0 of the language standard
  • BREAKING CHANGE: Remove the constructors keyword
  • BREAKING CHANGE: CBOR-encode only special Doubles as half-floats
    • ... as standardized in version 6.0.0 of the language standard
    • CBOR Doubles except Infinity/-Infinity/NaN/0.0 are now encoded in at
      least 32 bits
    • See: #822
  • BREAKING CHANGE: Sort record and union fields when CBOR-encoding
    • Fields and alternatives are now sorted when serialized
    • This does not affect semantic integrity checks, which already sorted these
      fields/alternatives before hashing expressions
    • This does affect the serialization of expressions that have not been
      normalized (e.g. uninterpreted expressions transmitted over the wire)
    • See: #835
  • BUG FIX: Fix non-exhaustive pattern match in dhall lint
    • This fixes: Irrefutable pattern failed for pattern Let (l' :| ls') d'
    • This bug would cause dhall lint to fail on some nested let/in
      expressions
    • See: #780
    • See: #784
  • BUG FIX: Don't fail if $HOME environment variable is unset
    • The interpreter was incorrectly throwing an exception if HOME was unset
    • The standard requires that implementations should handle the HOME
      environment variable being missing
    • See: #789
  • Feature: Remove version tag from semantic integrity check
    • ... as standardized in version 6.0.0 of the language standard
    • This is not a breaking change because this change also includes
      backwards-compatible support for semantic integrity checks produced by
      older versions of the interpreter
  • Feature: Support Unicode path components
    • ... as standardized in version 6.0.0 of the language standard
    • You can now use Unicode in path components if they are quoted
    • i.e. ./families/"禺.dhall" is now legal
  • Feature: Add Text/show built-in
    • ... as standardized in version 6.0.0 of the language standard
    • You can now convert a Text literal to its equivalent Dhall source code
      (which is itself a Text literal)
    • This comes in handy when using Dhall code to generate JSON or Dhall code
    • See: #811
  • Feature: Add --immediate-dependencies/--transitive-dependencies flags for
    dhall resolve
    • You can now retrieve all of your immediate or transitive dependencies as a
      textual list
    • This simplifies integration with other command-line tools (such as file
      watchers)
    • See: #795
    • See: #803
  • Feature: dhall freeze now only freezes remote imports by default
    • dhall freeze used to freeze all imports (including local imports and
      environment variables)
    • Now dhall freeze only freezes remote imports by default, which is what
      most users want
    • You can install freeze all imports using the --all flag
    • See: #808
  • Feature: :save and :load REPL state
    • :save with no arguments now saves the REPL state to a .dhall-repl-N
      file
    • The file format is a list of dhall repl commands
    • You can use :load to load the saved state back into the REPL
    • See: #807
  • Feature: Add :hash command to dhall repl
    • This lets you conveniently hash expressions within the dhall repl
    • See: #806
  • Feature: Add --check flag to dhall format
    • Use this to check if the input is already formatted
    • Useful for continuous integration when you want to ensure that all code
      under version control remains formatted
    • See: #810
  • Feature: Add UnionInputType builder for InputTypes
    • This is the union analog of RecordInputType, letting you build a
      record explicitly instead of deriving the instance using GHC generics
    • See: #775
  • Feature: Add :set/:unset commands to dhall repl
    • You can use these commands to set or unset command-line options
    • Currently only setting/unsetting --explain is supported
  • Standards-compliance fixes:
  • Documentation fixes:
  • Test fixes:
  • Improved error messages:
  • Formatting fixes:
  • REPL fixes: