úÎ'†$K+      !"#$%&'()*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.  ./01     ./01¾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,  getLocation and getPort) should work even if bottom is supplied.   world hostname port resets the default values  for the world= be carefull to only use this at the beginning of a program. , note that this uses unsafe state to work. !! 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  !"#$%&23456789:;<= !"#$%&$#%& !" !"#$%&23456789:;<=None'$(' "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. '()*>'()*(')*'()*>Many GHC only extensions experimental'Matthew Mirman <mmirman@andrew.cmu.edu>None !"#$'()* #!"$*')(?     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGrpc-framework-2.0.0.2Network.Remote.RPC#Network.Remote.RPC.Internal.RuntimeControl.Concurrent.ForkableRPC'Network.Remote.RPC.Internal.MultiServer%Network.Remote.RPC.Internal.Templatestransformers-0.3.0.0Control.Monad.Trans.Class MonadTransliftControl.Monad.IO.ClassliftIOForkableforkIOServableAIOStateHandlersMessageKillTalk ServiceIDLocName LocNumbersendrecv startServersafeFind getHandlers addServiceaddServiceByNameconnectToServicetrackSendable ReceivableRefWIOHostgetDataDefaultgetValuesetHost runServer runServerBGworldonHostrealRemoteCall makeServicemakeHostrpcCall makeServices autoService$fForkableStateT$fForkableReaderT $fForkableIO $fServableAIO $fServableIO$fMonadReaderMVarAIO$fMonadTransAIO$fService(->)mw$fServiceWIOmw$fRPC(->)(->)mw'$fRPCWIOWIOm'w'$fReceivablem(->)m'(->)$fSendablewm(->)m'(->)$fReceivablemWIOm'WIO$fSendablewmWIOm'WIO$fReceivablemam'a'$fSendablewmam'a'$fMonadTransWIO $fServableWIO $fMonadIOQ