The Playground file imports all the necessary modules to define your own computations and to state and prove your own properties about them.
Tested with Agda version 2.6.0, and std-lib v1.0
-
FunctorTC.agda,ApplicativeTC.agdaandMonadTC.agdaBasic definitions of
Functor,Applicative, andMonadtype classes. -
Functors/,Applicatives/,Monads/Directories containing instances of each type class.
-
FunctorLift.agdaImplementation of
Lift,fmapL,applyL,fmapRetc. -
ApplicativeLift.agdaImplementation of
pureLand_<*>L_and_<*>R_. -
MonadLift.agdaImplementation of
returnL,_>>=L_,_>>=R_etc. -
Examples/Worked out examples from in the paper.
-
Playground.agdaThe aforementioned playground.
-
PullbackPreserving.agdaType class for pullback preserving functors and some instances
-
Exp/Hoare.agda: Implementation of Swierstra's Hoare monad (_>>=H_)HoareLift.agda: A specified notion ofLift, and a lifted bind for (_>>=H_)Continuation.agda:_,L_for decidable properties with the continuation monad