vext-0.1.0.0: src-permute-indef/FinElement.hsig
{-# language DataKinds #-}
{-# language KindSignatures #-}
{-# language MagicHash #-}
{-# language RankNTypes #-}
{-# language UnboxedTuples #-}
{-# language TypeFamilies #-}
signature FinElement where
import Data.Kind (Type)
import GHC.Exts (TYPE,RuntimeRep(BoxedRep),Levity(Unlifted),State#,Int#)
import FinRep (R)
data A# :: TYPE R -> TYPE ('BoxedRep 'Unlifted)
data M# :: Type -> TYPE R -> TYPE ('BoxedRep 'Unlifted)
unsafeFreeze# :: forall (s :: Type) (a :: TYPE R).
M# s a
-> State# s
-> (# State# s, A# a #)
-- This is a shrink-and-freeze operation
unsafeShrinkFreeze# :: forall (s :: Type) (a :: TYPE R).
M# s a
-> Int#
-> State# s
-> (# State# s, A# a #)
initialized# :: forall (s :: Type) (a :: TYPE R).
Int#
-> a
-> State# s
-> (# State# s, M# s a #)
index# :: forall (a :: TYPE R).
A# a
-> Int#
-> a
write# :: forall (s :: Type) (a :: TYPE R).
M# s a
-> Int#
-> a
-> State# s
-> State# s
read# :: forall (s :: Type) (a :: TYPE R).
M# s a
-> Int#
-> State# s
-> (# State# s, a #)
set# :: forall (s :: Type) (a :: TYPE R).
M# s a
-> Int#
-> Int#
-> a
-> State# s
-> State# s
thaw# :: forall (s :: Type) (a :: TYPE R).
A# a
-> Int#
-> Int#
-> State# s
-> (# State# s, M# s a #)