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
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
>