oops, I forgot to edit this part:

 and my criticism of Lightweight Time Warps had to do with that it is a
> protocol for message-driven simulation, which also needs an implementor
> that touches "reality"


It should have read:

and my criticism of Lightweight Time Warps had to do with that it is a
> protocol for message-driven simulation and (I think) actors are minimal
> implementors of message-driven protocols



On Fri, Apr 12, 2013 at 1:07 PM, Tristan Slominski <
[email protected]> wrote:

> I had this long response drafted criticizing Bloom/CALM and Lightweight
> Time Warps, when I realized that we are probably again not aligned as to
> which "meta" level we're discussing.
>
> (my main criticism of Bloom/CALM was assumption of timesteps, which is an
> indicator of a meta-framework relying on something else to implement it
> within "reality"; and my criticism of Lightweight Time Warps had to do with
> that it is a protocol for message-driven simulation, which also needs an
> implementor that touches "reality"; synchronous reactive programming has
> the word synchronous in it) -> hence my assertion that this is more "meta"
> level than actors.
>
> I think you and I personally care about different things. I want a
> computational model that is as close to how the Universe works as possible,
> with a minimalistic set of constructs from which everything else can be
> built. Hence my references to cellular automata and Wolfram's hobby of
> searching for the Universe. Anything which starts as "synchronous" cannot
> be minimalistic because that's not what we observe in the world, our world
> is asynchronous, and if we disagree on this axiom, then so much for that :D
>
> But actors model fails with regards to extensibility(*) and reasoning
>
>
> Those are concerns of an imperator, are they not? Again, I'm not saying
> you're wrong, I'm trying to highlight that our goals differ.
>
> But, without invasive code changes or some other form of cheating (e.g.
>> global reflection) it can be difficult to obtain the name of an actor that
>> is part of an actor configuration.
>
>
> Again, this is ignorance of the power of Object Capability and the Actor
> Model itself. The above is forbidden in the actor model unless the
> configuration explicitly sends you an address in the message. My earlier
> comment about Akka refers to this same mistake.
>
> However, you do bring up interesting meta-level reasoning complaints
> against the actor model. I'm not trying to dismiss them away or anything.
> As I mentioned before, that list is a good guide as to what meta-level
> programmers care about when writing programs. It would be great if actors
> could make it easier... and I'm probably starting to get lost here between
> the meta-levels again :/
>
> Which brings me to a question. Am I the only one that loses track of which
> meta-level I'm reasoning or is this a common occurrence  Bringing it back
> to the topic somewhat, how do people handle reasoning about all the
> different layers (meta-levels) when thinking about computing?
>
>
> On Wed, Apr 10, 2013 at 12:21 PM, David Barbour <[email protected]>wrote:
>
>> On Wed, Apr 10, 2013 at 5:35 AM, Tristan Slominski <
>> [email protected]> wrote:
>>
>>> I think it's more of a pessimism about other models. [..] My
>>> non-pessimism about actors is linked to Wolfram's cellular automata turing
>>> machine [..] overwhelming consideration across all those hints is
>>> unbounded scalability.
>>>
>>
>> I'm confused. Why would you be pessimistic about non-actor models when
>> your argument is essentially that very simple, deterministic, non-actor
>> models can be both Turing complete and address unbounded scalability?
>>
>> Hmm. Perhaps what you're really arguing is "pessimistic about procedural"
>> - which today is the mainstream paradigm of choice. The imperial nature of
>> procedures makes it difficult to compose or integrate them in any
>> extensional or collaborative manner - imperative works best when there is
>> exactly one imperator (emperor). I can agree with that pessimism.
>>
>> In practice, the limits of scalability are very often limits of reasoning
>> (too hard to reason about the interactions, safety, security, consistency,
>> progress, process control, partial failure) or limits of extensibility (to
>> inject or integrate new behaviors with existing systems requires invasive
>> changes that are inconvenient or unauthorized). If either of those limits
>> exist, scaling will stall. E.g. pure functional programming fails to scale
>> for extensibility reasons, even though it admits a lot of natural
>> parallelism.
>>
>> Of course, scalable performance is sometimes the issue, especially in
>> models that have global 'instantaneous' relationships (e.g. ad-hoc
>> non-modular logic programming) or global maintenance issues (like garbage
>> collection). Unbounded scalability requires a consideration for locality of
>> computation, and that it takes time for information to propagate.
>>
>> Actors model is one (of many) models that provides some of the
>> considerations necessary for unbounded performance scalability. But actors
>> model fails with regards to extensibility(*) and reasoning. So do most of
>> the other models you mention - e.g. cellular automatons are even less
>> extensible than actors (cells only talk to a fixed set of immediate
>> neighbors), though one can address that with a notion of visitors (mobile
>> agents).
>>
>> From what you say, I get the impression that you aren't very aware of
>> other models that might compete with actors, that attempt to address not
>> only unbounded performance scalability but some of the other limiting
>> factors on growth. Have you read about Bloom and the CALM conjecture?
>> Lightweight time warp? What do you know of synchronous reactive
>> programming?
>>
>> There is a lot to be optimistic about, just not with actors.
>>
>> (*) People tend to think of actors as extensible since you just need
>> names of actors. But, without invasive code changes or some other form of
>> cheating (e.g. global reflection) it can be difficult to obtain the name of
>> an actor that is part of an actor configuration. This wouldn't be a problem
>> except that actors pervasively encapsulate state, and ad-hoc extension of
>> applications often requires access to internal state [1], especially to
>> data models represented in that state [2].
>>
>> Regards,
>>
>> Dave
>>
>> [1] http://awelonblue.wordpress.com/2012/10/21/local-state-is-poison/
>> [2] http://awelonblue.wordpress.com/2011/06/15/data-model-independence/
>>
>> _______________________________________________
>> fonc mailing list
>> [email protected]
>> http://vpri.org/mailman/listinfo/fonc
>>
>>
>
_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to