úÎ#´ Ô)      !"#$%&'(None)*)*mGeneralizedNewtypeDeriving, FlexibleInstances, MultiParamTypeClasses, StandaloneDeriving, ScopedTypeVariables experimental'Matthew Mirman <mmirman@andrew.cmu.edu>None; is a declaration that the given monad can be made into a  servlet.  +,-.     +,-.¾GeneralizedNewtypeDeriving, StandaloneDeriving, ScopedTypeVariables, FlexibleInstances, UndecidableInstances, MultiParamTypeClasses, FunctionalDependencies, IncoherentInstances, TypeFamilies experimental'Matthew Mirman <mmirman@andrew.cmu.edu>None w m a> is a newtype over a server transformer that adds the phantom  host argument w  World/ declares that the world is a host. It should J only have one constructor, and the location and port should be invariant  of the given constructor.  Specifically,  and ) should work even if bottom is supplied.   runs a name server and doesn' t return !!; runs a name server on a background thread and does return ""6 declares that the code is running on the given host. ? it is usefull when a type inference is wanted, but the action E also needs to be made into a service and used as a remote procedure  !"#$/0123456 !"#$"#$ ! !"#$/0123456None%$(% "HostName" " hostLocation" hostPortNumber)  makes a newtype HostName and declares an  instance Host HostName. &$(& ' serviceNm) simply splices in  # (undefined :: typeofcall) " serviceNm" which is typed in a manner  similar to typeofcall. '$(' ['service1 ,..., 'serviceN]) makes all given ( services listen for incoming requests. ($(( 'World)% finds all services declared in the 1 module that definitely run on the given world, . and makes them listen for incoming requests. %&'(7%&'(&%'(%&'(7Many GHC only extensions experimental'Matthew Mirman <mmirman@andrew.cmu.edu>None !"%&'( !"(%'&8     !"#$%&'()*+,-./0123456789:;<=>?@rpc-framework-0.3.0.0Network.Remote.RPC#Network.Remote.RPC.Internal.Runtime'Network.Remote.RPC.Internal.MultiServer%Network.Remote.RPC.Internal.TemplatesControl.Concurrent.Forkabletransformers-0.3.0.0Control.Monad.Trans.Class MonadTransliftControl.Monad.IO.ClassliftIOForkableforkIOServableAIOStateHandlersMessageKillTalk ServiceIDLocName LocNumbersendrecv startServersafeFind getHandlers addServiceaddServiceByNameconnectToServicetrackSendableRefWIOHost getLocationgetPortgetValue runServer runServerBGonHostrealRemoteCall makeServicemakeHostrpcCall makeServices autoService$fForkableReaderT $fForkableIO $fServableAIO $fServableIO$fMonadReaderMVarAIO$fMonadTransAIO$fService(->)mw$fServiceWIOmw$fRPC(->)(->)mw'$fRPCWIOWIOm'w'$fSendablem(->)(->)$fSendablemaa'$fMonadTransWIO $fServableWIO $fMonadIOQ