packages feed

MemoTrie 0.6.7 → 0.6.8

raw patch · 2 files changed

+13/−3 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Data.MemoTrie: instance Control.Newtype.Newtype (GHC.Base.Maybe a Data.MemoTrie.:->: x)
+ Data.MemoTrie: instance Data.MemoTrie.HasTrie a => Data.MemoTrie.HasTrie (GHC.Base.Maybe a)

Files

MemoTrie.cabal view
@@ -1,5 +1,5 @@ Name:                MemoTrie-Version:             0.6.7+Version:             0.6.8 Cabal-Version:       >= 1.10 Synopsis:            Trie-based memo functions Category:            Data@@ -14,7 +14,7 @@ Homepage:            https://github.com/conal/MemoTrie Author:              Conal Elliott  Maintainer:          conal@conal.net-Copyright:           (c) 2008-2015 by Conal Elliott+Copyright:           (c) 2008-2016 by Conal Elliott License:             BSD3 License-File:        COPYING Stability:           experimental
src/Data/MemoTrie.hs view
@@ -9,7 +9,7 @@ ---------------------------------------------------------------------- -- | -- Module      :  Data.MemoTrie--- Copyright   :  (c) Conal Elliott 2008-2012+-- Copyright   :  (c) Conal Elliott 2008-2016 -- License     :  BSD3 --  -- Maintainer  :  conal@conal.net@@ -315,6 +315,16 @@     BoolTrie f t -} +instance HasTrie a => HasTrie (Maybe a) where+  data (:->:) (Maybe a) b = MaybeTrie b (a :->: b)+  trie f = MaybeTrie (f Nothing) (trie (f . Just))+  untrie (MaybeTrie nothing_val a_trie) = maybe nothing_val (untrie a_trie)+  enumerate (MaybeTrie nothing_val a_trie) = (Nothing, nothing_val) : enum' Just a_trie++instance Newtype (Maybe a :->: x) where+  type O (Maybe a :->: x) = (x, a :->: x)+  pack (a,f) = MaybeTrie a f+  unpack (MaybeTrie a f) = (a,f)  instance (HasTrie a, HasTrie b) => HasTrie (Either a b) where   data (Either a b) :->: x = EitherTrie (a :->: x) (b :->: x)