Package CHARGED-MONADS
Classes
PtApplicative CLASS · src
PtApplicative :MMethods:
PT-PURE :: :A → :M :I :I :APT-LIFTA2 :: (:A * :B → :C) * :M :I :J :A * :M :J :K :B → :M :I :K :C
Instances
PtApplicative (ContT :M)Monad :M ⇒ PtApplicative (PtStateT :M)PtApplicative PtState
PtMonad CLASS · src
PtApplicative :M ⇒ PtMonad :MMethods:
PT-BIND :: :M :I :J :A * (:A → :M :J :K :B) → :M :I :K :B
PtMonadTransformer CLASS · src
PtMonadTransformer :TMethods:
PT-LIFT :: Monad :M ⇒ :M :A → :T :M :I :I :A
Instances
Macros
PT-DO (&BODY BODY) MACRO
Package CHARGED-MONADS/STATE
Types
PtState TYPE · src
Instances
Applicative (PtState :S :S)Functor (PtState :S1 :S2)Monad (PtState :S :S)PtApplicative PtStatePtMonad PtStateRuntimeRepr (PtState :|0| :|1| :|2|)
Values
(EVAL-STATE ST (PTST% F-STATE)) FUNCTION · src
∀ :S1 :S2 :A. :S1 * PtState :S1 :S2 :A → :AGET VALUE · src
∀ :S. PtState :S :S :S(MODIFY F-ST) FUNCTION · src
∀ :S1 :S2. (:S1 → :S2) → PtState :S1 :S2 Unit(PUT S) FUNCTION · src
∀ :S2 :S1. :S2 → PtState :S1 :S2 Unit(RUN-STATE ST (PTST% F-STATE)) FUNCTION · src
∀ :S1 :S2 :A. :S1 * PtState :S1 :S2 :A → :S2 * :APackage CHARGED-MONADS/STATET
Types
PtStateT TYPE · src
Instances
Functor :M ⇒ Functor (PtStateT :M :S1 :S2)Monad :M ⇒ Applicative (PtStateT :M :S :S)Monad :M ⇒ Monad (PtStateT :M :S :S)Monad :M ⇒ PtApplicative (PtStateT :M)Monad :M ⇒ PtMonad (PtStateT :M)PtMonadTransformer PtStateTRuntimeRepr (PtStateT :|0| :|1| :|2| :|3|)
Values
(EVAL-STATET S (PTSTT% F-ST)) FUNCTION · src
∀ :S1 :M :S2 :A. Functor :M ⇒ :S1 * PtStateT :M :S1 :S2 :A → :M :A(GET-STATET) FUNCTION · src
∀ :M :S. Applicative :M ⇒ Void → PtStateT :M :S :S :S(LIFT-STATET M) FUNCTION · src
∀ :M :A :S1. Functor :M ⇒ :M :A → PtStateT :M :S1 :S1 :A(MAP-STATET F-MSTA->NSTB M-STA) FUNCTION · src
∀ :M :S2 :A :N :S3 :B :S1. (:M (Tuple :S2 :A) → :N (Tuple :S3 :B)) * PtStateT :M :S1 :S2 :A → PtStateT :N :S1 :S3 :B(MODIFY-STATET F-ST) FUNCTION · src
∀ :S1 :S2 :M. Applicative :M ⇒ (:S1 → :S2) → PtStateT :M :S1 :S2 Unit(PUT-STATET S) FUNCTION · src
∀ :S2 :M :S1. Applicative :M ⇒ :S2 → PtStateT :M :S1 :S2 Unit(RUN-STATET S (PTSTT% F-ST)) FUNCTION · src
∀ :S1 :M :S2 :A. :S1 * PtStateT :M :S1 :S2 :A → :M (Tuple :S2 :A)Package CHARGED-MONADS/CONTT
Types
Cont TYPE · src
ContT TYPE · src
Instances
Applicative (ContT :M :R :R)Functor (ContT :M :R1 :R2)Monad (ContT :M :R :R)PtApplicative (ContT :M)PtMonad (ContT :M)PtMonadTransformer ContTRuntimeRepr (ContT :|0| :|1| :|2| :|3|)
Values
(CALL-CC A->CR2-->CR1) FUNCTION · src
∀ :A :M :R2 :R3 :B :R1. ((:A → ContT :M :R2 :R3 :B) → ContT :M :R1 :R2 :A) → ContT :M :R1 :R2 :A(EVAL-CONT CONT) FUNCTION · src
∀ :R. ContT Identity :R :R :R → :R(EVAL-CONTT CONT) FUNCTION · src
∀ :M :R. Applicative :M ⇒ ContT :M :R :R :R → :M :R(LIFT-CONTT M) FUNCTION · src
∀ :M :A :R. Monad :M ⇒ :M :A → ContT :M :R :R :A(MAP-CONTT MR3->MR2 CONT) FUNCTION · src
∀ :M :R3 :R2 :R1 :A. (:M :R3 → :M :R2) * ContT :M :R1 :R2 :A → ContT :M :R1 :R3 :A(RESET CONT) FUNCTION · src
∀ :R :A. ContT Identity :R :A :A → :R(RESETT CONT) FUNCTION · src
∀ :M :R :A. Applicative :M ⇒ ContT :M :R :A :A → :M :R(RUN-CONT FINAL-CONT CONT) FUNCTION · src
∀ :A :R2 :R1. (:A → :R2) * ContT Identity :R1 :R2 :A → :R1(RUN-CONTT CONT (CONTT% THUNK)) FUNCTION · src
∀ :A :M :R2 :R1. (:A → :M :R2) * ContT :M :R1 :R2 :A → :M :R1(SHIFT A->R2-->R1) FUNCTION · src
∀ :A :R2 :R1. ((:A → :R2) → :R1) → ContT Identity :R1 :R2 :A(SHIFTT A->R2-->R1) FUNCTION · src
∀ :A :M :R2 :R1. ((:A → :M :R2) → :M :R1) → ContT :M :R1 :R2 :A