úÎ'¾$Ä/      !"#$%&'()*+,-.(c) Fumiaki Kinoshita 2014 BSD3 (Fumiaki Kinoshita <fumiexcel@gmail.com>  experimental  non-portable None&+-3(The type for asynchronous input/output. (c) Fumiaki Kinoshita 2014 BSD3 (Fumiaki Kinoshita <fumiexcel@gmail.com>  experimental  non-portable None&+-32'Request a b' is the type of a request that sends a to receive b.      (c) Fumiaki Kinoshita 2014BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> experimental non-portableNone +234HJKM 4An object which is specialized to be a Mealy machineCThe type 'Object e m' represents objects which can handle messages e%, perform actions in the environment m@. It can be thought of as an automaton that converts effects. ,s can be composed just like functions using ; the identity element is .-Lift a natural transformation into an object.#Change the workspace of the object.8Apply a function to the messages coming into the object.Parrots messages given./Compose two objects (aka Dependency Injection).1Build an object using continuation passing style.Build a stateful object.A mutable variable./Build a stateful object, sharing out the state.)An object that won't accept any messages.6Extend an object by adding another independent object.The flyweight pattern.%Let object handle sequential methods. 9_Process :: Iso' (Object (Request a b) m) (Process m a b)  /0123456789       /0123456789(c) Fumiaki Kinoshita 2014BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> experimental non-portableNone &234=JK#"Send a message to the pointed one.$!Add an object to the environment.&Invoke a method.'GSimilar to '(.-)', but also lifts the method according to the instance.(Specialized (.^) for StateT!"#$%&'(!"#$%&'(%!"#$&'(!"#$%&'(&'((c) Fumiaki Kinoshita 2014 BSD3 (Fumiaki Kinoshita <fumiexcel@gmail.com>  experimental  non-portable None246=K)*+)+*)+*)%(c) Corbin Simpson, Google Inc. 2014 BSD3 (Fumiaki Kinoshita <fumiexcel@gmail.com>  experimental non-portable (ST) None=K,-.,.-,.-,None !"#$%&'(),:      !"#$%&'()*+,-./0123456789:;<=>?objective-0.5.2.1Data.Functor.PushPullData.Functor.RequestControl.ObjectControl.Monad.Objective.ClassControl.Monad.Objective.IOControl.Monad.Objective.STControl.Monad.ObjectivePushPullPullPushpushpull$fTowerPushPullRequestrequestacceptacceptM$fTowerRequestProcess unProcessObject runObjectliftO transObject adaptObjectecho.>>.oneshotstatefulvariablesharingloner.|>. flyweight runSequential sequential_ProcessMonadObjectiveInstanceinvokenew Instance'.-.^.& InstanceIOTFCo:R:InstanceemIO$fMonadObjectiveIO InstanceSTTFCo:R:InstanceemST$fMonadObjectiveST$fFractionalProcess $fNumProcess$fChoiceProcess$fStrongProcess$fProfunctorProcess$fArrowChoiceProcess$fArrowProcess$fCategory*Process$fMonoidProcess$fApplicativeProcess$fFunctorProcess