Announcing a new Haskell JSON RPC library, remote-json, that uses the remote 
monad to bundle remote procedure calls, amortizing the cost of remote 
execution. There are thee bundling strategies provided: 

 * weak (calls done one at a time), 
 * strong (calls bundled until a reply is needed, where possible), and 
 * applicative (an applicative functor is sent to the remote JSON RPC server).

Example of use:

say :: Text -> RPC ()
say msg = notification "say" (List [String msg])

temperature :: RPC Int
temperature = method "temperature" None

main :: IO ()
main = do
  let s = strongSession $ clientSendAPI "http://www.wibble.com/wobble";
  t <- send s $ do
                say "Hello, "
                say "World!"
                temperature
  print t

Blog:
 * http://ku-fpg.github.io/2016/02/09/remote-json/ 
<http://ku-fpg.github.io/2016/02/09/remote-json/>

Hackage:
 * http://hackage.haskell.org/package/remote-json 
<http://hackage.haskell.org/package/remote-json>
 * http://hackage.haskell.org/package/remote-json-client 
<http://hackage.haskell.org/package/remote-json-client>
 * http://hackage.haskell.org/package/remote-json-server 
<http://hackage.haskell.org/package/remote-json-server>

Github:
 * https://github.com/ku-fpg/remote-json <https://github.com/ku-fpg/remote-json>

Andy Gill & Justin Dawson







_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell

Reply via email to