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)))
            (in Sock (rd))
            (close> This Sock)))))

(dm evalAll> @
   (let Result
         (for N (getSockNums> This)
            (later (chain (cons "void"))
               (eval> This N (rest)))))
      (wait 5000 (not (memq "void" Result)))

On Tue, Mar 29, 2016 at 6:08 AM, Erik Gustafson <erik.d.gustaf...@gmail.com>

> 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

Reply via email to