enumerate-0.2.2: sources/Enumerate/Orphans/GHC.hs
{-# LANGUAGE DeriveGeneric, DeriveDataTypeable #-}
{-|
-}
module Enumerate.Orphans.GHC where
import Enumerate.Types
import Enumerate.Extra
import System.Posix.Types (CIno,CMode)
import GHC.Exts(Down(..),SpecConstrAnnotation(..))
--
-- TODO CCc
-- import GHC.Conc.Windows (ConsoleEvent) -- platform-specific module
import GHC.IO.Buffer (BufferState(..))
import GHC.IO.Device (IODeviceType(..))
import GHC.IO.Encoding.Failure (CodingFailureMode(..))
import GHC.IO.Encoding.Types (CodingProgress(..))
import GHC.RTS.Flags (DoTrace,DoHeapProfile,DoCostCentres,GiveGCStats)
instance Enumerable CIno where
enumerated = boundedEnumerated
cardinality = boundedCardinality
instance Enumerable CMode where
enumerated = boundedEnumerated
cardinality = boundedCardinality
instance (Enumerable a) => Enumerable (Down a) where
enumerated = Down <$> enumerated
instance Enumerable SpecConstrAnnotation where
enumerated = [NoSpecConstr,ForceSpecConstr]
-- instance Enumerable ConsoleEvent where
-- enumerated = enumEnumerated
instance Enumerable BufferState where
enumerated = [ReadBuffer,WriteBuffer]
instance Enumerable IODeviceType where
enumerated = [Directory,Stream,RegularFile,RawDevice]
instance Enumerable CodingFailureMode where
enumerated = [ErrorOnCodingFailure,IgnoreCodingFailure,TransliterateCodingFailure,RoundtripFailure]
instance Enumerable CodingProgress where
enumerated = [InputUnderflow,OutputUnderflow,InvalidSequence]
instance Enumerable DoTrace where
enumerated = enumEnumerated
instance Enumerable DoHeapProfile where
enumerated = enumEnumerated
instance Enumerable DoCostCentres where
enumerated = enumEnumerated
instance Enumerable GiveGCStats where
enumerated = enumEnumerated