GHC 7.8 fixes

This commit is contained in:
Michael Snoyman 2014-05-19 20:00:59 +03:00
parent 09cf1b10a1
commit 621bbff4bc
2 changed files with 17 additions and 7 deletions

View File

@ -10,14 +10,16 @@ module Data.Slug
) where ) where
import ClassyPrelude.Yesod import ClassyPrelude.Yesod
import Database.Persist.Sql (PersistFieldSql) import Database.Persist.Sql (PersistFieldSql (sqlType))
import qualified System.Random.MWC as MWC import qualified System.Random.MWC as MWC
import Control.Monad.Reader (MonadReader, ask) import Control.Monad.Reader (MonadReader, ask)
import GHC.Prim (RealWorld) import GHC.Prim (RealWorld)
import Text.Blaze (ToMarkup) import Text.Blaze (ToMarkup)
newtype Slug = Slug { unSlug :: Text } newtype Slug = Slug { unSlug :: Text }
deriving (Show, Read, Eq, Typeable, PersistField, PersistFieldSql, ToMarkup) deriving (Show, Read, Eq, Typeable, PersistField, ToMarkup)
instance PersistFieldSql Slug where
sqlType = sqlType . liftM unSlug
mkSlug :: MonadThrow m => Text -> m Slug mkSlug :: MonadThrow m => Text -> m Slug
mkSlug t mkSlug t

View File

@ -3,17 +3,25 @@ module Types where
import ClassyPrelude.Yesod import ClassyPrelude.Yesod
import Data.BlobStore (ToPath (..)) import Data.BlobStore (ToPath (..))
import Text.Blaze (ToMarkup) import Text.Blaze (ToMarkup)
import Database.Persist.Sql (PersistFieldSql) import Database.Persist.Sql (PersistFieldSql (sqlType))
import qualified Data.Text as T import qualified Data.Text as T
newtype PackageName = PackageName { unPackageName :: Text } newtype PackageName = PackageName { unPackageName :: Text }
deriving (Show, Read, Typeable, Eq, Ord, Hashable, PathPiece, ToMarkup, PersistField, PersistFieldSql, IsString) deriving (Show, Read, Typeable, Eq, Ord, Hashable, PathPiece, ToMarkup, PersistField, IsString)
instance PersistFieldSql PackageName where
sqlType = sqlType . liftM unPackageName
newtype Version = Version { unVersion :: Text } newtype Version = Version { unVersion :: Text }
deriving (Show, Read, Typeable, Eq, Ord, Hashable, PathPiece, ToMarkup, PersistField, PersistFieldSql) deriving (Show, Read, Typeable, Eq, Ord, Hashable, PathPiece, ToMarkup, PersistField)
instance PersistFieldSql Version where
sqlType = sqlType . liftM unVersion
newtype PackageSetIdent = PackageSetIdent { unPackageSetIdent :: Text } newtype PackageSetIdent = PackageSetIdent { unPackageSetIdent :: Text }
deriving (Show, Read, Typeable, Eq, Ord, Hashable, PathPiece, ToMarkup, PersistField, PersistFieldSql) deriving (Show, Read, Typeable, Eq, Ord, Hashable, PathPiece, ToMarkup, PersistField)
instance PersistFieldSql PackageSetIdent where
sqlType = sqlType . liftM unPackageSetIdent
newtype HackageView = HackageView { unHackageView :: Text } newtype HackageView = HackageView { unHackageView :: Text }
deriving (Show, Read, Typeable, Eq, Ord, Hashable, PathPiece, ToMarkup, PersistField, PersistFieldSql, IsString) deriving (Show, Read, Typeable, Eq, Ord, Hashable, PathPiece, ToMarkup, PersistField, IsString)
instance PersistFieldSql HackageView where
sqlType = sqlType . liftM unHackageView
data PackageNameVersion = PackageNameVersion !PackageName !Version data PackageNameVersion = PackageNameVersion !PackageName !Version
deriving (Show, Read, Typeable, Eq, Ord) deriving (Show, Read, Typeable, Eq, Ord)