BiobaseTypes 0.1.2.0 → 0.1.2.1
raw patch · 4 files changed
+66/−68 lines, 4 filesdep +string-conversionsdep −log-domaindep −stringabledep ~PrimitiveArraydep ~QuickCheckdep ~aesonPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: string-conversions
Dependencies removed: log-domain, stringable
Dependency ranges changed: PrimitiveArray, QuickCheck, aeson, binary, cereal, cereal-text, cereal-vector, data-default, deepseq, hashable, intern, primitive, text, text-binary, vector, vector-binary-instances, vector-th-unbox
API changes (from Hackage documentation)
- Biobase.Types.Names: instance Data.Stringable.Stringable Biobase.Types.Names.SpeciesName
- Biobase.Types.Names: instance Data.Stringable.Stringable Biobase.Types.Names.TaxonomicRank
+ Biobase.Types.Names: instance Data.String.Conversions.ConvertibleStrings Biobase.Types.Names.SpeciesName Data.Text.Internal.Text
+ Biobase.Types.Names: instance Data.String.Conversions.ConvertibleStrings Biobase.Types.Names.TaxonomicRank Data.Text.Internal.Text
+ Biobase.Types.Names: instance Data.String.Conversions.ConvertibleStrings Data.Text.Internal.Text Biobase.Types.Names.SpeciesName
+ Biobase.Types.Names: instance Data.String.Conversions.ConvertibleStrings Data.Text.Internal.Text Biobase.Types.Names.TaxonomicRank
- Biobase.Types.Accession: accession :: Stringable s => s -> Accession t
+ Biobase.Types.Accession: accession :: ConvertibleStrings s Text => s -> Accession t
- Biobase.Types.Accession: accession' :: Stringable s => t -> s -> Accession t
+ Biobase.Types.Accession: accession' :: ConvertibleStrings s Text => t -> s -> Accession t
Files
- Biobase/Types/Accession.hs +8/−7
- Biobase/Types/Names.hs +28/−39
- BiobaseTypes.cabal +23/−22
- changelog.md +7/−0
Biobase/Types/Accession.hs view
@@ -7,15 +7,16 @@ import Control.DeepSeq import Data.Aeson import Data.Binary+import Data.Char (isLetter) import Data.Hashable (Hashable) import Data.Ix (Ix) import Data.Serialize import Data.Serialize.Text import Data.String-import Data.Stringable+import Data.String.Conversions (ConvertibleStrings(..), cs)+import Data.String.Conversions.Monomorphic (toST, fromST) import Data.Text.Binary-import Data.Text (Text, span)-import Data.Char (isLetter)+import Data.Text (Text, span, length) import GHC.Generics (Generic) import Prelude hiding (length,span) @@ -45,14 +46,14 @@ -- | Generate an accession with an explicit phantom type: @accession' -- Nucleotide "Bla"@ has type @:: Accession Nucleotide@. -accession' :: Stringable s => t -> s -> Accession t-accession' t = Accession . toText+accession' :: ConvertibleStrings s Text => t -> s -> Accession t+accession' t = Accession . toST -- | Generate an accession when the type @Accession t@ is clear from the -- context. -accession :: Stringable s => s -> Accession t-accession = Accession . toText+accession :: ConvertibleStrings s Text => s -> Accession t+accession = Accession . toST {-# Inline accession #-} -- | Retag an accession
Biobase/Types/Names.hs view
@@ -14,16 +14,17 @@ import Data.Aeson as A import Data.Binary as DB import Data.Hashable+import Data.Interned+import Data.Interned.Text import Data.Serialize as DS import Data.Serialize.Text-import Data.Stringable as SA import Data.String as IS+import Data.String.Conversions (ConvertibleStrings(..), cs)+import Data.String.Conversions.Monomorphic (toST, fromST) import Data.Text.Binary-import Data.Text (Text,pack)+import Data.Text (Text, pack, unpack) import Data.Vector.Unboxed.Deriving import GHC.Generics-import Data.Interned.Text-import Data.Interned import Biobase.Types.Names.Internal @@ -56,7 +57,7 @@ {-# Inline fromString #-} instance Show SpeciesName where- showsPrec p i r = showsPrec p (toString i) r+ showsPrec p i r = showsPrec p (unpack $ toST i) r {-# Inline showsPrec #-} instance Read SpeciesName where@@ -65,38 +66,32 @@ instance Hashable SpeciesName -instance Stringable SpeciesName where- toString = toString . speciesNameBimapLookupInt . getSpeciesNameRep- fromString = speciesName . SA.fromString- length = SA.length . speciesNameBimapLookupInt . getSpeciesNameRep- toText = toText . speciesNameBimapLookupInt . getSpeciesNameRep- fromText = speciesName . fromText- {-# Inline toString #-}- {-# Inline fromString #-}- {-# Inline length #-}- {-# Inline toText #-}- {-# Inline fromText #-}+instance ConvertibleStrings Text SpeciesName where+ convertString = speciesName +instance ConvertibleStrings SpeciesName Text where+ convertString = speciesNameBimapLookupInt . getSpeciesNameRep+ instance NFData SpeciesName instance Binary SpeciesName where- put = DB.put . toText- get = fromText <$> DB.get+ put = DB.put . toST+ get = fromST <$> DB.get {-# Inline put #-} {-# Inline get #-} instance Serialize SpeciesName where- put = DS.put . toText- get = fromText <$> DS.get+ put = DS.put . toST+ get = fromST <$> DS.get {-# Inline put #-} {-# Inline get #-} instance FromJSON SpeciesName where- parseJSON s = fromText <$> parseJSON s+ parseJSON s = fromST <$> parseJSON s {-# Inline parseJSON #-} instance ToJSON SpeciesName where- toJSON = toJSON . toText+ toJSON = toJSON . toST {-# Inline toJSON #-} @@ -112,18 +107,12 @@ rnf (TaxonomicRank it) = rnf (internedTextId it) {-# Inline rnf #-} -instance Stringable TaxonomicRank where- toString = toString . unintern . getTaxonomicRank- fromString = fromText . pack- length = SA.length . toText- toText = unintern . getTaxonomicRank- fromText = TaxonomicRank . intern- {-# Inline toString #-}- {-# Inline fromString #-}- {-# Inline length #-}- {-# Inline toText #-}- {-# Inline fromText #-}+instance ConvertibleStrings Text TaxonomicRank where+ convertString = TaxonomicRank . intern +instance ConvertibleStrings TaxonomicRank Text where+ convertString = unintern . getTaxonomicRank+ instance Hashable TaxonomicRank where hashWithSalt s (TaxonomicRank it) = hashWithSalt s (internedTextId it) {-# Inline hashWithSalt #-}@@ -133,22 +122,22 @@ {-# Inline readsPrec #-} instance Binary TaxonomicRank where- put = DB.put . toText- get = fromText <$> DB.get+ put = DB.put . toST+ get = fromST <$> DB.get {-# Inline put #-} {-# Inline get #-} instance Serialize TaxonomicRank where- put = DS.put . toText- get = fromText <$> DS.get+ put = DS.put . toST+ get = fromST <$> DS.get {-# Inline put #-} {-# Inline get #-} instance FromJSON TaxonomicRank where- parseJSON s = fromText <$> parseJSON s+ parseJSON s = fromST <$> parseJSON s {-# Inline parseJSON #-} instance ToJSON TaxonomicRank where- toJSON = toJSON . toText+ toJSON = toJSON . toST {-# Inline toJSON #-}
BiobaseTypes.cabal view
@@ -1,5 +1,5 @@ name: BiobaseTypes-version: 0.1.2.0+version: 0.1.2.1 author: Christian Hoener zu Siederdissen, 2015 - 2016 copyright: Christian Hoener zu Siederdissen, 2015 - 2016 homepage: https://github.com/choener/BiobaseTypes@@ -11,7 +11,7 @@ build-type: Simple stability: experimental cabal-version: >= 1.10.0-tested-with: GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1+tested-with: GHC == 7.10.3, GHC == 8.0.1 synopsis: Collection of types for bioinformatics description: Types used in a number of bioinformatics libraries.@@ -32,27 +32,26 @@ library build-depends: base >= 4.7 && < 5.0- , aeson >= 0.8 && < 1.1- , binary >= 0.7 && < 0.8- , cereal >= 0.4 && < 0.6- , cereal-text >= 0.1 && < 0.2- , cereal-vector >= 0.2 && < 0.3- , data-default >= 0.5 && < 0.6- , deepseq >= 1.3 && < 1.5- , hashable >= 1.2 && < 1.3- , intern >= 0.9 && < 0.10- , log-domain >= 0.10 && < 0.11- , primitive >= 0.5 && < 0.7- , QuickCheck >= 2.7 && < 2.9- , stringable >= 0.1.3 && < 0.2- , text >= 1.0 && < 1.3- , text-binary >= 0.2 && < 0.3- , vector >= 0.10 && < 0.12- , vector-binary-instances >= 0.2 && < 0.3- , vector-th-unbox >= 0.2 && < 0.3+ , aeson >= 0.8+ , binary >= 0.7+ , cereal >= 0.4+ , cereal-text >= 0.1+ , cereal-vector >= 0.2+ , data-default >= 0.5+ , deepseq >= 1.3+ , hashable >= 1.2+ , intern >= 0.9+ , primitive >= 0.5+ , QuickCheck >= 2.7+ , string-conversions >= 0.4+ , text >= 1.0+ , text-binary >= 0.2+ , vector >= 0.10+ , vector-binary-instances >= 0.2+ , vector-th-unbox >= 0.2 -- , bimaps == 0.1.0.*- , PrimitiveArray == 0.7.1.*+ , PrimitiveArray == 0.8.0.* exposed-modules: Biobase.Types.Accession Biobase.Types.Bitscore@@ -71,6 +70,7 @@ default-extensions: BangPatterns , DataKinds , DeriveGeneric+ , FlexibleContexts , FlexibleInstances , GeneralizedNewtypeDeriving , KindSignatures@@ -101,11 +101,12 @@ default-extensions: ScopedTypeVariables , TemplateHaskell build-depends: base- , BiobaseTypes , QuickCheck , tasty >= 0.11 , tasty-quickcheck >= 0.8 , tasty-th >= 0.1+ --+ , BiobaseTypes
changelog.md view
@@ -1,3 +1,10 @@+0.1.2.1+-------++- increased minimal required PrimitiveArray version+- removed almost all upper bounds+- removed ghc 7.8.4 as viable compiler+ 0.1.2.0 -------