úÎ §ÐE      !"#$%&'()*+,-./0123456789:;<=>?@ABCD Safe-Inferedforces sequence forces returns forcing invoker  Safe-Infered IOResult for error handling IInteraction (a function from a intermediating type to another type) type *Datatype for intermediating interaction:  OIM has two states (programmer cannot distinguish), non-expressed and exressed.  `Non-expressed', indicates that no computation is assigned.  In other words, it'.s value is never denotated by any expression. @ So, if you refer the value then the process will be suspended * until other process determins the value. 1 Non-expressed value can be determined to become  expressed+ for a value by a expression at most once.   Expressed< indicates that some computation is assigned for the value. J Once expressed, the value never be back to non-expressed nor be changed. Dereference operator Decomposer for pair Decomposer for list Decomposer for triple Decomposer for 4-tuple Decomposer for 5-tuple Decomposer for 6-tuple Decomposer for 7-tuple Drive interaction Convert IO to interaction  EFGHI    EFGHI Safe-Infered-Connect two interactions into an interaction  Iteration !Conditional branching $ Sequencing  !"#$% !"#$% !"#$% !"#$% Safe-Infered&'()&'()&'()&'() Safe-Infered *+,-./0123 *+,-./0123 *+,-./0123 *+,-./0123 Safe-Infered456789:;<=>?@AJ456789:;<=>?@A4567@A89:;<=>? 456789:;<=>?@AJ Safe-InferedBCDBCDBCDBCD Safe-InferedE  !"#$%&'()*+,-./0123456789:;<=>?@ABCDK      !"#$%&'()*+,-./0123456789:;<==>?@ABCDEFGHIJKLMNOPQRS oi-0.2.1.0 Data.OI.ForceData.OI.InternalData.OI.Combinator Data.OI.IFun Data.OI.IOData.OI.ResourceData.OI.SystemData.OIforceSeqforceforce'IOResultFailureerrmsgSuccessresult:->OI??dePairdeListdeTripledeTuple4deTuple5deTuple6deTuple7deLeftdeRightrunInteractioniooiiooi'choice|:||/||>||><|foldOI sequenceOImapOI zipWithOI zipWithOI'ifOIchoiceOI choiceOIOnseqsOIseqsOI'IFun|::||->||<>|:~>openFile hIsClosedhIsEOFhGetLinehClose hPutStrLnisEOFgetLineputStrLnResourcereleasestreammapRmapR'filterRfilterR'takeRtakeR' takeWhileR takeWhileR'inFileResourceoutFileResourceargsprogName environment$fFunctorIOResult$fShowIOResult $fComonadOI $fMonadOI $fFunctorOI$fShowResource