packages feed

HList 0.2 → 0.2.1

raw patch · 9 files changed

+44/−29 lines, 9 filesdep ~basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: base

API changes (from Hackage documentation)

- Data.HList.Label2: data (HNat x) => Label x ns desc
+ Data.HList.Label2: data Label x ns desc
- Data.HList.Label3: data (HNat x) => Label x ns desc
+ Data.HList.Label3: data Label x ns desc

Files

Data/HList/GhcExperiments.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE KindSignatures,MultiParamTypeClasses,FunctionalDependencies,FlexibleInstances, FlexibleContexts, UndecidableInstances #-}+{-# LANGUAGE KindSignatures,MultiParamTypeClasses,FunctionalDependencies,FlexibleInstances, FlexibleContexts, UndecidableInstances, OverlappingInstances #-}  {-    (C) 2004, Oleg Kiselyov, Ralf Laemmel, Keean Schupke
Data/HList/GhcRecord.hs view
@@ -1,7 +1,11 @@ {-# OPTIONS_GHC -fno-warn-missing-signatures #-}-{-# LANGUAGE ScopedTypeVariables, EmptyDataDecls, FunctionalDependencies, -  MultiParamTypeClasses, UndecidableInstances, PatternSignatures,-  FlexibleInstances, FlexibleContexts #-}+{-# LANGUAGE EmptyDataDecls #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE FunctionalDependencies #-}  {-    The HList library@@ -261,14 +265,14 @@ hConsTcName = mkTyCon "HList.HCons" instance (Typeable x, Typeable y) => Typeable (HCons x y)  where-  typeOf (HCons x y)+  typeOf ~(HCons x y)    = mkTyConApp hConsTcName [ typeOf x, typeOf y ]  recordTcName :: TyCon recordTcName = mkTyCon "HList.Record" instance Typeable x => Typeable (Record x)  where-  typeOf (Record x)+  typeOf ~(Record x)    = mkTyConApp recordTcName [ typeOf x ]  hFieldTcName :: TyCon
Data/HList/GhcSyntax.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE TypeOperators #-} {-# OPTIONS_GHC -fno-warn-missing-signatures #-} {-# LANGUAGE FlexibleContexts #-} {-@@ -8,14 +9,10 @@  module Data.HList.GhcSyntax where -import Data.HList.HArray (HUpdateAtHNat()) import Data.HList.FakePrelude import Data.HList.HListPrelude-import Data.HList.HOccurs import Data.HList.Record import Data.HList.GhcRecord-import Data.HList.TIP-import Data.HList.TIC   {-----------------------------------------------------------------------------}@@ -99,22 +96,17 @@ --} r .-. l =  hDeleteAtLabel l r -infixl 2 .@.+infixr 2 .@. {-|-  (.@.) -- Update a field with a particular value. Another record-level-           operation, so it has the same fixity as (.*.) and (.-.). No-           real list analogue, since there is no Prelude defined+  (.@.) -- Update a field with a particular value.+           Same fixity as (.*.) so that extensions and updates can be chained.+           There is no real list analogue, since there is no Prelude defined            update. -  record1 .@. label1 .=. value1--  record1 .@. label1 .=. record2 .!. label1+  label1 .=. value1 .@. record1  -  record1 .*. label1 .=. record2 .!. label1-          .*. label2 .=. record2 .!. label2 -          .@. label1 .=. value2 -}-r .@. f@(LVPair v) =  hUpdateAtLabel (labelLVPair f) v r+f@(LVPair v) .@. r  =  hUpdateAtLabel (labelLVPair f) v r  infixr 2 .^. {-|@@ -131,12 +123,12 @@ -} f@(LVPair v) .<. r = hTPupdateAtLabel (labelLVPair f) v r -infixl 2 .<++.+infixl 1 .<++. {-|   (.<++.) -- Similar to list append, so give this slightly lower fixity than              (.*.), so we can write: -   record1 .*. field1 .<++. record2 .*. field2+   field1 .=. value .*. record1 .<++. record2 -} r .<++. r' = hLeftUnion r r' 
Data/HList/HOccurs.hs view
@@ -1,5 +1,5 @@ {-# LANGUAGE EmptyDataDecls, MultiParamTypeClasses, FlexibleInstances,-  FlexibleContexts, UndecidableInstances #-}+  FlexibleContexts, OverlappingInstances, UndecidableInstances #-}  {-    The HList library
Data/HList/Label2.hs view
@@ -33,7 +33,7 @@  -- Labels are type-level naturals -data HNat x => Label x ns desc  -- labels are exclusively type-level entities+data Label x ns desc  -- labels are exclusively type-level entities   -- Construct the first label
Data/HList/Label3.hs view
@@ -34,7 +34,7 @@   -- Labels are type-level naturals-data HNat x => Label x ns desc  -- labels are exclusively type-level entities+data Label x ns desc  -- labels are exclusively type-level entities   -- Public constructors for labels
Data/HList/TypeEqGeneric2.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleContexts, FlexibleInstances, UndecidableInstances #-}+{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleContexts, FlexibleInstances, UndecidableInstances, OverlappingInstances #-}  {-    The HList library
HList.cabal view
@@ -1,5 +1,5 @@ Name:                HList-Version:             0.2+Version:             0.2.1 Category:            Data Synopsis:            Heterogeneous lists Description:         HList is a record system providing strongly typed heterogenous lists, records,
README view
@@ -1,6 +1,25 @@-(C) 2004--2005, Oleg Kiselyov, Ralf Laemmel, Keean Schupke+(C) 2004--2010, Oleg Kiselyov, Ralf Laemmel, Keean Schupke  The HList library and samples++----------------------------------------------------------------------++Getting the code++> darcs get http://darcs.haskell.org/HList++----------------------------------------------------------------------++Pushing changes++You need an account at darcs.haskell.org++> cd HList+> darcs pull user@darcs.haskell.org:/srv/darcs/HList+> darcs record+> darcs push++----------------------------------------------------------------------  This distribution covers all essential issues discussed in the HList paper. Additional examples and HList operations are provided.