Îõ³h$ ¼ !      (c) Michael Szvetits, 2021BSD3 (see the file LICENSE)typedbyte@qualified.namestableportable Safe-Inferred>ÀÁÂÔÖ×Ù´ program&Demands that a specific value of type t% must be present in the environment e.programExtracts a value of type t from the environment e.program3Represents a program that produces a value of type a! when running in an environment eÍ. The required content of the environment is usually described by declaring  constraints on e. Turning an ! action into a  is usually done by using ".program&Runs a program in a given environment e.programàAcquire a resource, use it, and then release the resource automatically after the program ends.program A version of È where the acquisition and release actions may consult the environment e.program!Integrates a continuation into a Ô, which is useful for integrating existing bracket-like continuations (often named with...).programÕRuns a sub-program within a program, which is useful for fine-grained resource handling (i.e., resources acquired by the sub-program are released after the sub-program ends, not at the end of the whole program).programGets the environment. program"Extracts a specific value of type t from the environment. program"Extracts a specific value of type t) from the environment and extracts some !É action from it. This is useful if the environment contains a record of !5 functions (e.g., a function which returns a handle).program,The computation which acquires the resource.program,The computation which releases the resource.program(The computation which uses the resource.   (c) Michael Szvetits, 2021BSD3 (see the file LICENSE)typedbyte@qualified.namestableportable Safe-Inferred?Ö× † programÉA record of functions which represents the operations on a mutable value.programGets the current state.program$Replaces the state with a new value.programÂCreates a new record of functions for mutable state, backed by an .program0Modifies the state, using the provided function.programA strict version of .programGets the current state.program$Replaces the state with a new value.program0Modifies the state, using the provided function.programA strict version of .  (c) Michael Szvetits, 2021BSD3 (see the file LICENSE)typedbyte@qualified.namestableportable Safe-Inferred?Ö× þprogramÎA record of functions which represents the operations on an appendable output.programÆCreates a new record of functions for appendable output, backed by an .þReturns the record of functions and an action which reads the accumulated output, usually used after running a corresponding  with the  in its environment. programProduces the output w. In other words, w' is appended to the accumulated output.  #      !!"#$%&'()*+&program-0.1.0.0-D3u329IvyRA9BK1oltO4rFControl.ProgramControl.Program.StateControl.Program.Writer Data.IORefIORefHasfromProgram runProgrambracketbracketEmanagelocalaskpullpullWith$fMonadIOProgram$fMonadFailProgram$fMonadProgram$fApplicativeProgram$fFunctorProgram$fHaseeState readState writeStatenewState modifyState modifyState'getputmodifymodify'Writer writeValue newWritertellghc-prim GHC.TypesIObaseControl.Monad.IO.ClassliftIO