Changelog of @hackage/unbound-generics 0.3.4

0.3.4

  • Bump containers upper bound to support 0.6. (GHC 8.6.1 support) Thanks Christiaan Baaij.

0.3.3

  • Bump exceptions upper bound to support 0.10.0

0.3.2

  • Bump deepseq >= 1.4.0.0 remove benchmark dependency on deepseq-generics
  • Tested with GHC 8.4.1
  • Tested with GHC 8.2.2
  • Compile with -Wcompat
  • Add Semigroup instances for all types that were previously Monoid instances
  • Added more examples to the examples/ directory
  • Added "exceptions" dependency and MonadThrow, MonadCatch, MonadMask instances for FreshMT and LFreshMT. Thanks Alex McKenna.

0.3.1

  • Tested with GHC 8.0.1
  • Removed Generic b constraint from Subst b (Name a) instance.

0.3

  • Change types of open and close to take NthPatFind and NamePatFind instead of generic patterns, update call sites.
  • Add newtype wrappers and Monoid instances for NthPatFind and NamePatFind
  • Change isTerm to return All instead of Bool

0.2

  • Incorporating some of the extras/oversights from clash-lib Unbound.Generics.LocallyNameless.Extra

    • Make Embed an instance of Ord
    • NFData instances (see below)
  • Re-implement freshen' and gfreshen using a free monad to give GHC a chance to inline it all away. This changes the type of gfreshen. Major version bump.

    • Expose FFM, liftFFM and retractFFM
  • Provide NFData instances for all the combinators. Depend on 'deepseq'

  • Start benchmarking some of the operations (particularly unbind).

0.1.2.1

  • Fix ghc-7.10 build.
  • Haddock cleanup.

0.1.2

  • Added IsEmbed typeclass

    • Depend on 'profunctors'
  • Changed embed and unembed to work over any IsEmbed type.

  • Added Shift type for shifting the scope of embedded terms out one level.

0.1.1

  • Added isNullDisjointSet function.
  • Implement a TH makeClosedAlpha splice for constructing trivial leaf instances.

0.1

  • Add acompare functiona and acompare' method to Alpha typeclass. (christiaanb)

    Handwritten Alpha instances will need to define this additional method now. Major version bump.

0.0.3

  • Add 'name2Integer' method (christiaanb)

  • Export internal type-directed gaeq, gopen, gclose, etc functions from Unbound.Generics.LocallyNameless.Alpha.

    Allows definitions like:

      instance Alpha Term where
        aeq' _ (Prim t1 _dk1) (Prim t2 _dk2) = t1 == t2
        aeq' c t1             t2             = gaeq c (from t1) (from t2)
    

0.0.2.1

  • Unconditionally add ErrorT and ExceptT instances using transformers-compat (bergmark)

0.0.2

  • Add 'Rec' pattern and 'TRec' term combinators.

  • Alpha instance for '()'

0.0.1

  • Add 'lunbind2' function.

  • Doc updates.

  • Switch from 'HUnit' to 'Tasty' for testing.

0.0.0.90

  • Initial (re-)implementation effort.