packages feed

knit 0.2.0.0 → 0.3.0.0

raw patch · 3 files changed

+20/−9 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Generics.Eot: data Proxy (t :: k) :: forall k. () => k -> Type
+ Generics.Eot: data Proxy (t :: k)
- Generics.Eot: Named :: field -> Named field
+ Generics.Eot: Named :: field -> Named (a :: Symbol) field
- Generics.Eot: Proxy :: Proxy
+ Generics.Eot: Proxy :: Proxy (t :: k)
- Generics.Eot: absurd :: () => Void -> a
+ Generics.Eot: absurd :: Void -> a
- Generics.Eot.Eot: Named :: field -> Named field
+ Generics.Eot.Eot: Named :: field -> Named (a :: Symbol) field

Files

knit.cabal view
@@ -7,7 +7,7 @@ -- hash: 9a018114683474c6cf3790641de1ab1452d949f9accab039ef8c9c01bc3dcf91  name:           knit-version:        0.2.0.0+version:        0.3.0.0 synopsis:       Ties the knot on data structures that reference each other by unique keys. description:    Please see the README on GitHub at <https://github.com/pkamenarsky/knit#readme> category:       Data Structures
src/Knit.hs view
@@ -237,9 +237,15 @@   gGatherTableIds (Right u) = gGatherTableIds u  instance ( GGatherTableIds ts-         , KnitRecord tables r          , KnownSymbol table-         ) => GGatherTableIds (Named table [r tables 'Unresolved], ts) where+         ) => GGatherTableIds (Named table a, ts) where+  gGatherTableIds (_, ts) = gGatherTableIds ts++instance {-# OVERLAPPING #-}+  ( GGatherTableIds ts+  , KnitRecord tables r+  , KnownSymbol table+  ) => GGatherTableIds (Named table [r tables 'Unresolved], ts) where   gGatherTableIds (Named records, ts) = (table, eids):gGatherTableIds ts     where       table = symbolVal (Proxy :: Proxy table)@@ -349,6 +355,9 @@   gResolveTables notRemoved rsvMap (Left u) = Left $ gResolveTables notRemoved rsvMap u   gResolveTables _ _ _ = undefined +instance GResolveTables us ts => GResolveTables (Named table a, us) (Named table a, ts) where+  gResolveTables nr rsvMap (a, us) = (a, gResolveTables nr rsvMap us)+ instance   ( GResolveTables us ts   , KnitRecord tables t @@ -528,7 +537,7 @@   LookupTableType name (Either records Eot.Void) = LookupTableType name records   LookupTableType name (Eot.Named name [record tables recordMode], records)     = '(record, ExpandRecord name (Eot (record tables 'Done)))-  LookupTableType name (Eot.Named otherName [record tables recordMode], records)+  LookupTableType name (Eot.Named otherName a, records)     = LookupTableType name records    LookupTableType name eot = TypeError ('Text "Can't lookup table type")
test/Example.hs view
@@ -22,7 +22,8 @@ deriving instance Show (Person Model Resolved)  data Model m = Model-  { persons :: Table Model m Person+  { version :: String+  , persons :: Table Model m Person   } deriving (Generic, KnitTables)  deriving instance Show (Model Resolved)@@ -30,9 +31,10 @@ --------------------------------------------------------------------------------  model :: Model Unresolved-model = Model+model = Model ""   [ Person (Id "Alice") [ ForeignId "Bob", ForeignId "cat" ]   , Person (Id "Bob") [ ForeignId "Alice" ]+  , Person (Remove "Bob2") [ ForeignId "Alice" ]    -- You may disagree, but the cat thinks of itself as Person   , Person (Id "cat") [ ForeignId "cat" ]@@ -44,7 +46,7 @@   Left e -> error (show e)  manualModel :: Model Resolved-manualModel = Model+manualModel = Model ""   [ alice   , bob   , cat@@ -57,7 +59,7 @@ --------------------------------------------------------------------------------  model2 :: Model Unresolved-model2 = Model+model2 = Model ""   [ Person (Remove "Alice") [ ForeignId "Bob", ForeignId "cat" ]   , Person (Id "Bob") [ ForeignId "Alice" ] @@ -71,7 +73,7 @@   Left e -> error (show e)  manualModel2 :: Model Resolved-manualModel2 = Model+manualModel2 = Model ""   [ cat   ]   where