<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">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: <div class=""><br class=""></div><div class=""> * weak (calls done one at a time), </div><div class=""> * strong (calls bundled until a reply is needed, where possible), and </div><div class=""> * applicative (an applicative functor is sent to the remote JSON RPC server).</div><div class=""><br class=""></div><div class="">Example of use:</div><div class=""><br class=""></div><div class=""><div class="">say :: Text -> RPC ()</div><div class="">say msg = notification "say" (List [String msg])</div><div class=""><br class=""></div><div class="">temperature :: RPC Int</div><div class="">temperature = method "temperature" None</div><div class=""><br class=""></div><div class="">main :: IO ()</div><div class="">main = do</div><div class="">  let s = strongSession $ clientSendAPI "<a href="http://www.wibble.com/wobble" class="">http://www.wibble.com/wobble</a>"</div><div class="">  t <- send s $ do</div><div class="">                say "Hello, "</div><div class="">                say "World!"</div><div class="">                temperature</div><div class="">  print t</div></div><div class=""><br class=""><div class=""><div class="">Blog:</div><div class=""> * <a href="http://ku-fpg.github.io/2016/02/09/remote-json/" class="">http://ku-fpg.github.io/2016/02/09/remote-json/</a></div><div class=""><br class=""></div><div class="">Hackage:</div><div class=""><div class=""> * <a href="http://hackage.haskell.org/package/remote-json" class="">http://hackage.haskell.org/package/remote-json</a></div><div class=""> * <a href="http://hackage.haskell.org/package/remote-json-client" class="">http://hackage.haskell.org/package/remote-json-client</a></div><div class=""> * <a href="http://hackage.haskell.org/package/remote-json-server" class="">http://hackage.haskell.org/package/remote-json-server</a></div><div class=""><br class=""></div><div class="">Github:</div><div class=""> * <a href="https://github.com/ku-fpg/remote-json" class="">https://github.com/ku-fpg/remote-json</a></div><div class=""><br class=""></div><div class="">Andy Gill & Justin Dawson</div><div class=""><br class=""></div><div class=""><br class=""><div class=""><br class=""><div class=""><br class=""></div><div class=""><br class=""><div class=""><br class=""><div class=""><br class=""></div></div></div></div></div></div></div></div></body></html>