Hi Erik, the +Agent class in question makes use of rd and pr in combination with asynchronously connecting to multiple external services, like this:
(dm eval> (A . @) (let? Sock (sock> This A) (when Sock (out Sock (pr (rest))) (prog1 (in Sock (rd)) (close> This Sock))))) (dm evalAll> @ (let Result (make (for N (getSockNums> This) (later (chain (cons "void")) (eval> This N (rest))))) (wait 5000 (not (memq "void" Result))) Result)) On Tue, Mar 29, 2016 at 6:08 AM, Erik Gustafson <erik.d.gustaf...@gmail.com> wrote: > Hi list, > > While reading through the mail archive, I found some interesting > threads regarding distributed DB's (mostly conversations between > Henrik and Alex, IIRC). An '+Agent' class was mentioned that > abstracted away the manual setup details (e.g. direct > manipulation of '*Ext', as in the 'remote/2' and '*Ext' > documentation), though I wasn't able to find any code. I might > have missed it, the threads were lengthy. > > I'm wondering, does anyone have the code for such a class? Or > maybe a template as to how to go about designing one? I'm > guessing the specifics are very dependent on the application > structure. > > I'd like to venture beyond the remote/*Ext examples and learn > more about distributed PL. It seems very powerful - yet largely > unexplored, except by a couple people. > > > Thanks, > Erik >