hsdev-0.2.5.1: Haskell development library

Safe HaskellSafe
LanguageHaskell98

Data.Async

Contents

Synopsis

Documentation

data Event a Source #

Event on async value

Constructors

Append a 
Remove a 
Clear 
Modify (a -> a) 
Action (a -> IO a) 

event :: Group a => Event a -> a -> IO a Source #

Event to function

data Async a Source #

Constructors

Async 

Fields

newAsync :: (NFData a, Group a) => IO (Async a) Source #

modifyAsync :: Async a -> Event a -> IO () Source #

Reexports

class Eq a => Group a Source #

Group is monoid with invertibility But for our purposes we prefer two functions: add and sub.

Minimal complete definition

add, sub, zero

Instances

Group Structured Source # 
Group Database Source # 
Eq a => Group [a] Source # 

Methods

add :: [a] -> [a] -> [a] Source #

sub :: [a] -> [a] -> [a] Source #

zero :: [a] Source #

Ord a => Group (Set a) Source # 

Methods

add :: Set a -> Set a -> Set a Source #

sub :: Set a -> Set a -> Set a Source #

zero :: Set a Source #

(Ord k, Group a) => Group (Map k a) Source # 

Methods

add :: Map k a -> Map k a -> Map k a Source #

sub :: Map k a -> Map k a -> Map k a Source #

zero :: Map k a Source #

class NFData a #

A class of types that can be fully evaluated.

Since: 1.1.0.0

Instances

NFData Bool 

Methods

rnf :: Bool -> () #

NFData Char 

Methods

rnf :: Char -> () #

NFData Double 

Methods

rnf :: Double -> () #

NFData Float 

Methods

rnf :: Float -> () #

NFData Int 

Methods

rnf :: Int -> () #

NFData Int8 

Methods

rnf :: Int8 -> () #

NFData Int16 

Methods

rnf :: Int16 -> () #

NFData Int32 

Methods

rnf :: Int32 -> () #

NFData Int64 

Methods

rnf :: Int64 -> () #

NFData Integer 

Methods

rnf :: Integer -> () #

NFData Word 

Methods

rnf :: Word -> () #

NFData Word8 

Methods

rnf :: Word8 -> () #

NFData Word16 

Methods

rnf :: Word16 -> () #

NFData Word32 

Methods

rnf :: Word32 -> () #

NFData Word64 

Methods

rnf :: Word64 -> () #

NFData CallStack

Since: 1.4.2.0

Methods

rnf :: CallStack -> () #

NFData TypeRep

NOTE: Only defined for base-4.8.0.0 and later

Since: 1.4.0.0

Methods

rnf :: TypeRep -> () #

NFData () 

Methods

rnf :: () -> () #

NFData TyCon

NOTE: Only defined for base-4.8.0.0 and later

Since: 1.4.0.0

Methods

rnf :: TyCon -> () #

NFData PackageName 

Methods

rnf :: PackageName -> () #

NFData PackageIdentifier 

Methods

rnf :: PackageIdentifier -> () #

NFData ComponentId 

Methods

rnf :: ComponentId -> () #

NFData UnitId 

Methods

rnf :: UnitId -> () #

NFData Any

Since: 1.4.0.0

Methods

rnf :: Any -> () #

NFData All

Since: 1.4.0.0

Methods

rnf :: All -> () #

NFData Version

Since: 1.3.0.0

Methods

rnf :: Version -> () #

NFData ByteString 

Methods

rnf :: ByteString -> () #

NFData ByteString 

Methods

rnf :: ByteString -> () #

NFData Scientific 

Methods

rnf :: Scientific -> () #

NFData Number 

Methods

rnf :: Number -> () #

NFData UTCTime 

Methods

rnf :: UTCTime -> () #

NFData JSONPathElement 

Methods

rnf :: JSONPathElement -> () #

NFData Value 

Methods

rnf :: Value -> () #

NFData ThreadId

Since: 1.4.0.0

Methods

rnf :: ThreadId -> () #

NFData Natural

Since: 1.4.0.0

Methods

rnf :: Natural -> () #

NFData Void

Defined as rnf = absurd.

Since: 1.4.0.0

Methods

rnf :: Void -> () #

NFData Unique

Since: 1.4.0.0

Methods

rnf :: Unique -> () #

NFData ExitCode

Since: 1.4.2.0

Methods

rnf :: ExitCode -> () #

NFData CChar

Since: 1.4.0.0

Methods

rnf :: CChar -> () #

NFData CSChar

Since: 1.4.0.0

Methods

rnf :: CSChar -> () #

NFData CUChar

Since: 1.4.0.0

Methods

rnf :: CUChar -> () #

NFData CShort

Since: 1.4.0.0

Methods

rnf :: CShort -> () #

NFData CUShort

Since: 1.4.0.0

Methods

rnf :: CUShort -> () #

NFData CInt

Since: 1.4.0.0

Methods

rnf :: CInt -> () #

NFData CUInt

Since: 1.4.0.0

Methods

rnf :: CUInt -> () #

NFData CLong

Since: 1.4.0.0

Methods

rnf :: CLong -> () #

NFData CULong

Since: 1.4.0.0

Methods

rnf :: CULong -> () #

NFData CLLong

Since: 1.4.0.0

Methods

rnf :: CLLong -> () #

NFData CULLong

Since: 1.4.0.0

Methods

rnf :: CULLong -> () #

NFData CFloat

Since: 1.4.0.0

Methods

rnf :: CFloat -> () #

NFData CDouble

Since: 1.4.0.0

Methods

rnf :: CDouble -> () #

NFData CPtrdiff

Since: 1.4.0.0

Methods

rnf :: CPtrdiff -> () #

NFData CSize

Since: 1.4.0.0

Methods

rnf :: CSize -> () #

NFData CWchar

Since: 1.4.0.0

Methods

rnf :: CWchar -> () #

NFData CSigAtomic

Since: 1.4.0.0

Methods

rnf :: CSigAtomic -> () #

NFData CClock

Since: 1.4.0.0

Methods

rnf :: CClock -> () #

NFData CTime

Since: 1.4.0.0

Methods

rnf :: CTime -> () #

NFData CUSeconds

Since: 1.4.0.0

Methods

rnf :: CUSeconds -> () #

NFData CSUSeconds

Since: 1.4.0.0

Methods

rnf :: CSUSeconds -> () #

NFData CFile

Since: 1.4.0.0

Methods

rnf :: CFile -> () #

NFData CFpos

Since: 1.4.0.0

Methods

rnf :: CFpos -> () #

NFData CJmpBuf

Since: 1.4.0.0

Methods

rnf :: CJmpBuf -> () #

NFData CIntPtr

Since: 1.4.0.0

Methods

rnf :: CIntPtr -> () #

NFData CUIntPtr

Since: 1.4.0.0

Methods

rnf :: CUIntPtr -> () #

NFData CIntMax

Since: 1.4.0.0

Methods

rnf :: CIntMax -> () #

NFData CUIntMax

Since: 1.4.0.0

Methods

rnf :: CUIntMax -> () #

NFData Fingerprint

Since: 1.4.0.0

Methods

rnf :: Fingerprint -> () #

NFData SrcLoc

Since: 1.4.2.0

Methods

rnf :: SrcLoc -> () #

NFData IntSet 

Methods

rnf :: IntSet -> () #

NFData NameSort 

Methods

rnf :: NameSort -> () #

NFData SrcSpan 

Methods

rnf :: SrcSpan -> () #

NFData FastZString 

Methods

rnf :: FastZString -> () #

NFData Name 

Methods

rnf :: Name -> () #

NFData Module 

Methods

rnf :: Module -> () #

NFData ModuleName 

Methods

rnf :: ModuleName -> () #

NFData UnitId 

Methods

rnf :: UnitId -> () #

NFData OccName 

Methods

rnf :: OccName -> () #

NFData URI 

Methods

rnf :: URI -> () #

NFData URIAuth 

Methods

rnf :: URIAuth -> () #

NFData Doc 

Methods

rnf :: Doc -> () #

NFData TextDetails 

Methods

rnf :: TextDetails -> () #

NFData Component 

Methods

rnf :: Component -> () #

NFData Scope 

Methods

rnf :: Scope -> () #

NFData Message 

Methods

rnf :: Message -> () #

NFData LocalTime 

Methods

rnf :: LocalTime -> () #

NFData ZonedTime 

Methods

rnf :: ZonedTime -> () #

NFData TimeOfDay 

Methods

rnf :: TimeOfDay -> () #

NFData TimeZone 

Methods

rnf :: TimeZone -> () #

NFData NominalDiffTime 

Methods

rnf :: NominalDiffTime -> () #

NFData Day 

Methods

rnf :: Day -> () #

NFData UniversalTime 

Methods

rnf :: UniversalTime -> () #

NFData DiffTime 

Methods

rnf :: DiffTime -> () #

NFData UUID 

Methods

rnf :: UUID -> () #

NFData Project # 

Methods

rnf :: Project -> () #

NFData PackageDb # 

Methods

rnf :: PackageDb -> () #

NFData PackageDbStack # 

Methods

rnf :: PackageDbStack -> () #

NFData ModulePackage # 

Methods

rnf :: ModulePackage -> () #

NFData PackageConfig # 

Methods

rnf :: PackageConfig -> () #

NFData ModuleLocation # 

Methods

rnf :: ModuleLocation -> () #

NFData Position # 

Methods

rnf :: Position -> () #

NFData Region # 

Methods

rnf :: Region -> () #

NFData Location # 

Methods

rnf :: Location -> () #

NFData Severity # 

Methods

rnf :: Severity -> () #

NFData OutputMessage # 

Methods

rnf :: OutputMessage -> () #

NFData HsDevError # 

Methods

rnf :: HsDevError -> () #

NFData ModuleTag # 

Methods

rnf :: ModuleTag -> () #

NFData Inspection # 

Methods

rnf :: Inspection -> () #

NFData ExportedDeclaration # 

Methods

rnf :: ExportedDeclaration -> () #

NFData ModuleDeclaration # 

Methods

rnf :: ModuleDeclaration -> () #

NFData DeclarationInfo # 

Methods

rnf :: DeclarationInfo -> () #

NFData TypeInfo # 

Methods

rnf :: TypeInfo -> () #

NFData Declaration # 

Methods

rnf :: Declaration -> () #

NFData Module # 

Methods

rnf :: Module -> () #

NFData ModuleId # 

Methods

rnf :: ModuleId -> () #

NFData Import # 

Methods

rnf :: Import -> () #

NFData ImportList # 

Methods

rnf :: ImportList -> () #

NFData ImportSpec # 

Methods

rnf :: ImportSpec -> () #

NFData Export # 

Methods

rnf :: Export -> () #

NFData ThingPart # 

Methods

rnf :: ThingPart -> () #

NFData Structured # 

Methods

rnf :: Structured -> () #

NFData Database # 

Methods

rnf :: Database -> () #

NFData Sandbox # 

Methods

rnf :: Sandbox -> () #

NFData SandboxType # 

Methods

rnf :: SandboxType -> () #

NFData ScanContents # 

Methods

rnf :: ScanContents -> () #

NFData TypedExpr # 

Methods

rnf :: TypedExpr -> () #

NFData a => NFData [a] 

Methods

rnf :: [a] -> () #

NFData a => NFData (Maybe a) 

Methods

rnf :: Maybe a -> () #

NFData a => NFData (Ratio a) 

Methods

rnf :: Ratio a -> () #

NFData (Ptr a)

Since: 1.4.2.0

Methods

rnf :: Ptr a -> () #

NFData (FunPtr a)

Since: 1.4.2.0

Methods

rnf :: FunPtr a -> () #

NFData a => NFData (Last a)

Since: 1.4.2.0

Methods

rnf :: Last a -> () #

NFData (MVar a)

NOTE: Only strict in the reference and not the referenced value.

Since: 1.4.2.0

Methods

rnf :: MVar a -> () #

NFData a => NFData (IResult a) 

Methods

rnf :: IResult a -> () #

NFData a => NFData (Result a) 

Methods

rnf :: Result a -> () #

NFData a => NFData (Identity a)

Since: 1.4.0.0

Methods

rnf :: Identity a -> () #

NFData a => NFData (Min a)

Since: 1.4.2.0

Methods

rnf :: Min a -> () #

NFData a => NFData (Max a)

Since: 1.4.2.0

Methods

rnf :: Max a -> () #

NFData a => NFData (First a)

Since: 1.4.2.0

Methods

rnf :: First a -> () #

NFData m => NFData (WrappedMonoid m)

Since: 1.4.2.0

Methods

rnf :: WrappedMonoid m -> () #

NFData a => NFData (Option a)

Since: 1.4.2.0

Methods

rnf :: Option a -> () #

NFData a => NFData (NonEmpty a)

Since: 1.4.2.0

Methods

rnf :: NonEmpty a -> () #

NFData (Fixed a)

Since: 1.3.0.0

Methods

rnf :: Fixed a -> () #

NFData a => NFData (Complex a) 

Methods

rnf :: Complex a -> () #

NFData (StableName a)

Since: 1.4.0.0

Methods

rnf :: StableName a -> () #

NFData a => NFData (ZipList a)

Since: 1.4.0.0

Methods

rnf :: ZipList a -> () #

NFData a => NFData (Dual a)

Since: 1.4.0.0

Methods

rnf :: Dual a -> () #

NFData a => NFData (Sum a)

Since: 1.4.0.0

Methods

rnf :: Sum a -> () #

NFData a => NFData (Product a)

Since: 1.4.0.0

Methods

rnf :: Product a -> () #

NFData a => NFData (First a)

Since: 1.4.0.0

Methods

rnf :: First a -> () #

NFData a => NFData (Last a)

Since: 1.4.0.0

Methods

rnf :: Last a -> () #

NFData (IORef a)

NOTE: Only strict in the reference and not the referenced value.

Since: 1.4.2.0

Methods

rnf :: IORef a -> () #

NFData a => NFData (Down a)

Since: 1.4.0.0

Methods

rnf :: Down a -> () #

NFData a => NFData (Digit a) 

Methods

rnf :: Digit a -> () #

NFData a => NFData (Node a) 

Methods

rnf :: Node a -> () #

NFData a => NFData (Elem a) 

Methods

rnf :: Elem a -> () #

NFData a => NFData (FingerTree a) 

Methods

rnf :: FingerTree a -> () #

NFData a => NFData (IntMap a) 

Methods

rnf :: IntMap a -> () #

NFData a => NFData (Tree a) 

Methods

rnf :: Tree a -> () #

NFData a => NFData (Seq a) 

Methods

rnf :: Seq a -> () #

NFData a => NFData (Set a) 

Methods

rnf :: Set a -> () #

NFData a => NFData (DList a) 

Methods

rnf :: DList a -> () #

NFData (ForeignRef a) 

Methods

rnf :: ForeignRef a -> () #

NFData a => NFData (SizedSeq a) 

Methods

rnf :: SizedSeq a -> () #

NFData (RemotePtr a) 

Methods

rnf :: RemotePtr a -> () #

NFData a => NFData (Hashed a) 

Methods

rnf :: Hashed a -> () #

NFData a => NFData (Vector a) 

Methods

rnf :: Vector a -> () #

NFData (Vector a) 

Methods

rnf :: Vector a -> () #

NFData (Vector a) 

Methods

rnf :: Vector a -> () #

NFData (Vector a) 

Methods

rnf :: Vector a -> () #

NFData a => NFData (HashSet a) 

Methods

rnf :: HashSet a -> () #

NFData a => NFData (Doc a) 

Methods

rnf :: Doc a -> () #

NFData a => NFData (AnnotDetails a) 

Methods

rnf :: AnnotDetails a -> () #

NFData a => NFData (Array a) 

Methods

rnf :: Array a -> () #

NFData a => NFData (Note a) # 

Methods

rnf :: Note a -> () #

NFData (a -> b)

This instance is for convenience and consistency with seq. This assumes that WHNF is equivalent to NF for functions.

Since: 1.3.0.0

Methods

rnf :: (a -> b) -> () #

(NFData a, NFData b) => NFData (Either a b) 

Methods

rnf :: Either a b -> () #

(NFData a, NFData b) => NFData (a, b) 

Methods

rnf :: (a, b) -> () #

(NFData k, NFData v) => NFData (HashMap k v) 

Methods

rnf :: HashMap k v -> () #

(NFData k, NFData a) => NFData (Map k a) 

Methods

rnf :: Map k a -> () #

(NFData a, NFData b) => NFData (Array a b) 

Methods

rnf :: Array a b -> () #

(NFData i, NFData r) => NFData (IResult i r) 

Methods

rnf :: IResult i r -> () #

(NFData a, NFData b) => NFData (Arg a b)

Since: 1.4.2.0

Methods

rnf :: Arg a b -> () #

NFData (Proxy k a)

Since: 1.4.0.0

Methods

rnf :: Proxy k a -> () #

NFData (STRef s a)

NOTE: Only strict in the reference and not the referenced value.

Since: 1.4.2.0

Methods

rnf :: STRef s a -> () #

(NFData i, NFData r) => NFData (IResult i r) 

Methods

rnf :: IResult i r -> () #

(NFData k, NFData v) => NFData (Leaf k v) 

Methods

rnf :: Leaf k v -> () #

NFData (MVector s a) 

Methods

rnf :: MVector s a -> () #

NFData (MVector s a) 

Methods

rnf :: MVector s a -> () #

NFData (MVector s a) 

Methods

rnf :: MVector s a -> () #

(NFData a, NFData b, NFData c) => NFData (a, b, c) 

Methods

rnf :: (a, b, c) -> () #

NFData a => NFData (Const k a b)

Since: 1.4.0.0

Methods

rnf :: Const k a b -> () #

NFData b => NFData (Tagged k s b) 

Methods

rnf :: Tagged k s b -> () #

(NFData i, NFData t, NFData a) => NFData (Inspected i t a) # 

Methods

rnf :: Inspected i t a -> () #

(NFData a, NFData b, NFData c, NFData d) => NFData (a, b, c, d) 

Methods

rnf :: (a, b, c, d) -> () #

(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5) => NFData (a1, a2, a3, a4, a5) 

Methods

rnf :: (a1, a2, a3, a4, a5) -> () #

(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6) => NFData (a1, a2, a3, a4, a5, a6) 

Methods

rnf :: (a1, a2, a3, a4, a5, a6) -> () #

(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6, NFData a7) => NFData (a1, a2, a3, a4, a5, a6, a7) 

Methods

rnf :: (a1, a2, a3, a4, a5, a6, a7) -> () #

(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6, NFData a7, NFData a8) => NFData (a1, a2, a3, a4, a5, a6, a7, a8) 

Methods

rnf :: (a1, a2, a3, a4, a5, a6, a7, a8) -> () #

(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6, NFData a7, NFData a8, NFData a9) => NFData (a1, a2, a3, a4, a5, a6, a7, a8, a9) 

Methods

rnf :: (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> () #