Module

Control.Monad.ST.Uncurried

This module defines types for STf uncurried functions, as well as functions for converting back and forth between them.

The general naming scheme for functions and types in this module is as follows:

  • STFn{N} means, an uncurried function which accepts N arguments and performs some STs. The first N arguments are the actual function's argument. The last type argument is the return type.
  • runSTFn{N} takes an STFn of N arguments, and converts it into the normal PureScript form: a curried function which returns an ST action.
  • mkSTFn{N} is the inverse of runSTFn{N}. It can be useful for callbacks.

#STFn1

data STFn1 :: Type -> Region -> Type -> Typedata STFn1 t0 t1 t2

#STFn2

data STFn2 :: Type -> Type -> Region -> Type -> Typedata STFn2 t0 t1 t2 t3

#STFn3

data STFn3 :: Type -> Type -> Type -> Region -> Type -> Typedata STFn3 t0 t1 t2 t3 t4

#STFn4

data STFn4 :: Type -> Type -> Type -> Type -> Region -> Type -> Typedata STFn4 t0 t1 t2 t3 t4 t5

#STFn5

data STFn5 :: Type -> Type -> Type -> Type -> Type -> Region -> Type -> Typedata STFn5 t0 t1 t2 t3 t4 t5 t6

#STFn6

data STFn6 :: Type -> Type -> Type -> Type -> Type -> Type -> Region -> Type -> Typedata STFn6 t0 t1 t2 t3 t4 t5 t6 t7

#STFn7

data STFn7 :: Type -> Type -> Type -> Type -> Type -> Type -> Type -> Region -> Type -> Typedata STFn7 t0 t1 t2 t3 t4 t5 t6 t7 t8

#STFn8

data STFn8 :: Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type -> Region -> Type -> Typedata STFn8 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9

#STFn9

data STFn9 :: Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type -> Region -> Type -> Typedata STFn9 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10

#STFn10

data STFn10 :: Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type -> Type -> Region -> Type -> Typedata STFn10 t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11

#mkSTFn1

mkSTFn1 :: forall a t r. (a -> ST t r) -> STFn1 a t r

#mkSTFn2

mkSTFn2 :: forall a b t r. (a -> b -> ST t r) -> STFn2 a b t r

#mkSTFn3

mkSTFn3 :: forall a b c t r. (a -> b -> c -> ST t r) -> STFn3 a b c t r

#mkSTFn4

mkSTFn4 :: forall a b c d t r. (a -> b -> c -> d -> ST t r) -> STFn4 a b c d t r

#mkSTFn5

mkSTFn5 :: forall a b c d e t r. (a -> b -> c -> d -> e -> ST t r) -> STFn5 a b c d e t r

#mkSTFn6

mkSTFn6 :: forall a b c d e f t r. (a -> b -> c -> d -> e -> f -> ST t r) -> STFn6 a b c d e f t r

#mkSTFn7

mkSTFn7 :: forall a b c d e f g t r. (a -> b -> c -> d -> e -> f -> g -> ST t r) -> STFn7 a b c d e f g t r

#mkSTFn8

mkSTFn8 :: forall a b c d e f g h t r. (a -> b -> c -> d -> e -> f -> g -> h -> ST t r) -> STFn8 a b c d e f g h t r

#mkSTFn9

mkSTFn9 :: forall a b c d e f g h i t r. (a -> b -> c -> d -> e -> f -> g -> h -> i -> ST t r) -> STFn9 a b c d e f g h i t r

#mkSTFn10

mkSTFn10 :: forall a b c d e f g h i j t r. (a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> ST t r) -> STFn10 a b c d e f g h i j t r

#runSTFn1

runSTFn1 :: forall a t r. STFn1 a t r -> a -> ST t r

#runSTFn2

runSTFn2 :: forall a b t r. STFn2 a b t r -> a -> b -> ST t r

#runSTFn3

runSTFn3 :: forall a b c t r. STFn3 a b c t r -> a -> b -> c -> ST t r

#runSTFn4

runSTFn4 :: forall a b c d t r. STFn4 a b c d t r -> a -> b -> c -> d -> ST t r

#runSTFn5

runSTFn5 :: forall a b c d e t r. STFn5 a b c d e t r -> a -> b -> c -> d -> e -> ST t r

#runSTFn6

runSTFn6 :: forall a b c d e f t r. STFn6 a b c d e f t r -> a -> b -> c -> d -> e -> f -> ST t r

#runSTFn7

runSTFn7 :: forall a b c d e f g t r. STFn7 a b c d e f g t r -> a -> b -> c -> d -> e -> f -> g -> ST t r

#runSTFn8

runSTFn8 :: forall a b c d e f g h t r. STFn8 a b c d e f g h t r -> a -> b -> c -> d -> e -> f -> g -> h -> ST t r

#runSTFn9

runSTFn9 :: forall a b c d e f g h i t r. STFn9 a b c d e f g h i t r -> a -> b -> c -> d -> e -> f -> g -> h -> i -> ST t r

#runSTFn10

runSTFn10 :: forall a b c d e f g h i j t r. STFn10 a b c d e f g h i j t r -> a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> ST t r

Modules