Hoogle Search

Within LTS Haskell 24.35 (ghc-9.10.3)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. writeMutVar :: PrimMonad m => MutVar (PrimState m) a -> a -> m ()

    primitive Data.Primitive.MutVar

    Write a new value into a MutVar.

  2. data MutVar# a (b :: TYPE 'BoxedRep l)

    ghc-prim GHC.Prim

    A MutVar# behaves like a single-element mutable array.

  3. atomicModifyMutVar2# :: MutVar# d a -> (a -> c) -> State# d -> (# State# d, a, c #)

    ghc-prim GHC.Prim

    Modify the contents of a MutVar#, returning the previous contents x :: a and the result of applying the given function to the previous contents f x :: c. The data type c (not a newtype!) must be a record whose first field is of lifted type a :: Type and is not unpacked. For example, product types c ~ Solo a or c ~ (a, b) work well. If the record type is both monomorphic and strict in its first field, it's recommended to mark the latter {-# NOUNPACK #-} explicitly. Under the hood atomicModifyMutVar2# atomically replaces a pointer to an old x :: a with a pointer to a selector thunk fst r, where fst is a selector for the first field of the record and r is a function application thunk r = f x. atomicModifyIORef2Native from atomic-modify-general package makes an effort to reflect restrictions on c faithfully, providing a well-typed high-level wrapper.

  4. atomicModifyMutVar_# :: MutVar# d a -> (a -> a) -> State# d -> (# State# d, a, a #)

    ghc-prim GHC.Prim

    Modify the contents of a MutVar#, returning the previous contents and the result of applying the given function to the previous contents.

  5. atomicModifyMutVar2# :: MutVar# s a -> (a -> c) -> State# s -> (# State# s, a, c #)

    ghc-prim GHC.PrimopWrappers

    No documentation available.

  6. atomicModifyMutVar_# :: MutVar# s a -> (a -> a) -> State# s -> (# State# s, a, a #)

    ghc-prim GHC.PrimopWrappers

    No documentation available.

  7. atomicSwapMutVar# :: MutVar# s a_levpoly -> a_levpoly -> State# s -> (# State# s, a_levpoly #)

    ghc-prim GHC.PrimopWrappers

    No documentation available.

  8. casMutVar# :: MutVar# s a_levpoly -> a_levpoly -> a_levpoly -> State# s -> (# State# s, Int#, a_levpoly #)

    ghc-prim GHC.PrimopWrappers

    No documentation available.

  9. newMutVar# :: a_levpoly -> State# s -> (# State# s, MutVar# s a_levpoly #)

    ghc-prim GHC.PrimopWrappers

    No documentation available.

  10. newTVar# :: a_levpoly -> State# s -> (# State# s, TVar# s a_levpoly #)

    ghc-prim GHC.PrimopWrappers

    No documentation available.

Page 10 of many | Previous | Next