Hi Tristan,
Thanks for the clarification.

I was wondering, do you think it might be useful to implement Actors using
the fibers module (https://npmjs.org/package/fiber)?

I noticed that there's an Actors lib for Ruby implemented with fibers:
https://github.com/tarcieri/revactor

It seems like this might make concurrent programming a bit easier in
node.js and help avoid callback pyramids. What do you think?

Thanks,
Matt
On Jul 25, 2013 2:15 PM, "Tristan Slominski" <[email protected]>
wrote:

> In this context, implementing actors can be thought of as a pattern. I've
> implemented actor frameworks from scratch on a number of different
> "substrates". Much like one can implement a JVM in JavaScript, one can
> implement an actor system on top of Node.js. All the way down, something
> must animate the actor framework. All the way down, things tend to run in
> assembly on hardware. How many layers between the hardware and your actor
> framework and what conveniences you want to include with that are up to
> you.
>
> Another way to phrase the issue, an actor framework can be a meta-layer on
> top of Node.js reactor setup. If the use of actors helps to reason about
> the problem in better ways, that's part of the cost benefit analysis of
> solving the problem with actors.
>
> You could also go as far as Coffeescript did and implement an [actor]
> language using Node.js' reactor, I'd probably use OmetaJS here.
>
> Lastly, my usual criticism, Akka (inspiration behind drama) is popular,
> but it gives up Object Capability, which actor systems start off with.
> Object Capability allows you to _prove_ (as in mathematical proof) security
> properties of an actor configuration. Framework implementations of actors
> tend to sacrifice Object Capability for, in my opinion, dubious benefit.
>
> On Wednesday, July 24, 2013 12:17:24 AM UTC-5, Matthew Browne wrote:
>>
>> Hi,
>> I realize this thread is a little old, but I just came across it I don't
>> understand your reasoning...yes, Reactor (event loop-based approach) is a
>> different approach than Actors, but Actors have been implemented
>> successfully on top of event loops in some other languages like Python and
>> have achieved very good concurrent performance (from what I can gather
>> anyway).
>>
>> The main drawback is that you no longer have parallelism across multiple
>> cores, but in node.js we've already accepted that and are willing to settle
>> for separate OS processes instead.
>>
>> The only real disadvantage I can think of is that the node.js API is
>> designed to be used with callbacks, but for one's own application code
>> (especially the parts that are straight JS that don't use the node API as
>> much) it seems like an actors library like drama
>> <https://github.com/stagas/drama>is a great approach to concurrency (and
>> asynchronous OOP).
>>
>>
>> On Monday, June 18, 2012 11:50:41 AM UTC-4, Alexey Petrushin wrote:
>>>
>>> I'm not sure that Reactor (Node.js) should be used with Actors. It seems
>>> that it's a different approaches for solving the same problem - concurrency.
>>>
>>> If JS would have ability to spawn tons of cheap processes - then we just
>>> don't need such limitation as Node.js async API.
>>>
>>> So, it seems it's not just a question of some sort of lib for node.js -
>>> but more like a completely different API on top of Node.js (or instead of
>>> Node.js).
>>>
>>  --
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "nodejs" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/nodejs/iHSkdmGaRnk/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to