storable-record 0.0.3.1 → 0.0.4
raw patch · 5 files changed
+22/−5 lines, 5 filesdep +semigroupsdep ~base
Dependencies added: semigroups
Dependency ranges changed: base
Files
- src/Foreign/Storable/Record.hs +6/−1
- src/Foreign/Storable/RecordMinimalSize.hs +6/−1
- src/Foreign/Storable/RecordReaderPtr.hs +6/−1
- src/Foreign/Storable/Traversable.hs +1/−0
- storable-record.cabal +3/−2
src/Foreign/Storable/Record.hs view
@@ -70,6 +70,7 @@ import Control.Applicative (Applicative(pure, (<*>)), ) import Data.Functor.Compose (Compose(Compose), ) import Data.Monoid (Monoid(mempty, mappend), )+import Data.Semigroup (Semigroup((<>)), ) import Foreign.Storable.FixedArray (roundUp, ) import qualified Foreign.Storable as St@@ -130,11 +131,15 @@ newtype Alignment = Alignment {deconsAlignment :: Int} +instance Semigroup Alignment where+ {-# INLINE (<>) #-}+ Alignment x <> Alignment y = Alignment (lcm x y)+ instance Monoid Alignment where {-# INLINE mempty #-} {-# INLINE mappend #-} mempty = Alignment 1- mappend (Alignment x) (Alignment y) = Alignment (lcm x y)+ mappend = (<>) {-# INLINE element #-}
src/Foreign/Storable/RecordMinimalSize.hs view
@@ -73,6 +73,7 @@ import Control.Applicative (Applicative(pure, (<*>)), ) import Data.Functor.Compose (Compose(Compose), ) import Data.Monoid (Monoid(mempty, mappend), )+import Data.Semigroup (Semigroup((<>)), ) import Foreign.Storable.FixedArray (roundUp, ) import qualified Foreign.Storable as St@@ -127,11 +128,15 @@ newtype Alignment = Alignment Int +instance Semigroup Alignment where+ {-# INLINE (<>) #-}+ Alignment x <> Alignment y = Alignment (lcm x y)+ instance Monoid Alignment where {-# INLINE mempty #-} {-# INLINE mappend #-} mempty = Alignment 1- mappend (Alignment x) (Alignment y) = Alignment (lcm x y)+ mappend = (<>) {-# INLINE element #-}
src/Foreign/Storable/RecordReaderPtr.hs view
@@ -73,6 +73,7 @@ import Control.Applicative (Applicative(pure, (<*>)), ) import Data.Functor.Compose (Compose(Compose), ) import Data.Monoid (Monoid(mempty, mappend), )+import Data.Semigroup (Semigroup((<>)), ) import Foreign.Storable.FixedArray (roundUp, ) import qualified Foreign.Storable as St@@ -127,11 +128,15 @@ newtype Alignment = Alignment {deconsAlignment :: Int} +instance Semigroup Alignment where+ {-# INLINE (<>) #-}+ Alignment x <> Alignment y = Alignment (lcm x y)+ instance Monoid Alignment where {-# INLINE mempty #-} {-# INLINE mappend #-} mempty = Alignment 1- mappend (Alignment x) (Alignment y) = Alignment (lcm x y)+ mappend = (<>) {-# INLINE element #-}
src/Foreign/Storable/Traversable.hs view
@@ -41,6 +41,7 @@ import qualified Data.Foldable as Fold import qualified Control.Applicative as App +-- ToDo: Maybe we should use State.Strict instead? import Control.Monad.Trans.State (StateT, evalStateT, get, put, modify, ) import Control.Monad.IO.Class (liftIO, )
storable-record.cabal view
@@ -1,5 +1,5 @@ Name: storable-record-Version: 0.0.3.1+Version: 0.0.4 Category: Data, Foreign Synopsis: Elegant definition of Storable instances for records Description:@@ -63,7 +63,7 @@ Source-Repository this Type: darcs Location: http://code.haskell.org/~thielema/storable-record/- Tag: 0.0.3.1+ Tag: 0.0.4 Flag splitBase description: Choose the new smaller, split-up base package.@@ -75,6 +75,7 @@ Library Build-Depends: transformers >=0.2 && <0.6,+ semigroups >=0.1 && <1.0, utility-ht >=0.0.1 && <0.1 If flag(splitBase) Build-Depends: