<58KA      !"#$%&'()*+,-./0123456789:;<=>?@(c) Fumiaki Kinoshita 2015BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> provisionalGADTs, Rank2TypesSafe &'1NQSTV The type  Object f g. represents objects which can handle messages f%, perform actions in the environment gB. It can be thought of as an automaton that transforms effects. ,s can be composed just like functions using  ; the identity element is 4. Objects are morphisms of the category of actions.  Naturality/runObject obj . fmap f "a fmap f . runObject objAn infix alias for The trivial object -Lift a natural transformation into an object. 'The categorical composition of objects.  Reversed '(>>)' "Combine objects so as to handle a A of interfaces. An unwrapped analog of  id = unfoldO runObject  = unfoldO   = unfoldO Same as   but requires B insteadBuild a stateful object.  stateful t s = t ^>>@ variable sFlipped ?. it is super convenient to use with the LambdaCase extension. Cascading!Objects can consume free monads.  is more preferred.A mutable variable. variable = stateful id(Pass zero or more messages to an object.3Add capability to handle multiple messages at once.+Send a message to an object through a lens.5Send a message to objects in a traversable container. +announce = withBuilder . invokesOf traverse A method invocation operator on C.   311 1 11(c) Fumiaki Kinoshita 2015BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> provisionalGADTs, Rank2Types TrustworthyQV]%A I is an object that may die. A mortal yields a final result upon death.  f g forms a B: D is a dead object and (E') prolongs the life of the left object. Object f g "a Mortal f g Void Construct a mortal in a  construction manner.!Send a message to a mortal." Restricted $ constuctor which can be applied to transit,  fromFoldable without ambiguousness.#+Turn an object into a mortal without death.$+Send a message to mortals through a filter.%Send a message to mortals in a F container. apprises = apprisesOf wither&)Send a message to mortals in a container.  !"#$%&  "!#$%&(c) Fumiaki Kinoshita 2015BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> provisionalGADTs, Rank2TypesSafe&'QV]-/-jInvoke a method with an explicit landing function. In case of exception, the original object will be set..Invoke a method.0KTry to invoke a method. If the instance is unavailable, it returns Nothing.1/Create a new instance. This can be used inside unsafePerformIO to create top-level instances.2DCreate a new instance, having it sitting on the current environment.+,-./012+12,-./0.3/3(c) Fumiaki Kinoshita 2015BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> experimental non-portableSafe/F/  !"#$%&+,-./012(c) Fumiaki Kinoshita 2015BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> experimental non-portableSafe +-13<FST7 33 a b% is the type of a request that sends a to receive b.5 Apply a function to the body of 36 Create a 3.7 Handle a 3, smashing the continuation.8Add a step as a mealy machine9The flyweight object:Compose mealy machines<2Create a mealy machine from a time-varying action. 4 animate f "a accumulator (+) 0 >~~> liftO (accept f)=Like <, but the life is limited. 3456789:;<= 345?>6789:;<=34G      !!"#$%&'()*+,-./01234566789:;<=>?@ABCDECFGHIJCFKCFLMNOP&objective-1.1.2-1RwVlJfkZmB7nYIk6KXtFRControl.Object.ObjectControl.Object.MortalControl.Object.InstanceData.Functor.RequestControl.ObjectFallibleObject runObject@-^>>@@>>^echoliftO@>>@@<<@@||@unfoldOunfoldOMstateful@~ iterObject iterativevariable cascadeObject cascading invokesOfinvokesannounce@!= withBuilder filteredOfilterOMortalunMortalmortal runMortalmortal_immortal apprisesOfapprisesapprise$fMonadTransMortal $fMonadMortal$fApplicativeMortal$fFunctorMortalInstance invokeOnUsinginvokeOn.-..-?-new newSettleRequest mapRequestrequestacceptmealy flyweight>~~> accumulatoranimatetransit$fApplicativeRequest$fProfunctorRequest$fFunctorRequestbaseData.Functor.SumSumGHC.BaseMonadtransformers-0.5.2.0 Control.Monad.Trans.State.StrictStateTreturn>>=%witherable-0.2-9pSjoGpE85I7kgBsCymhdhData.Witherable Witherable