On Mon, Jul 11, 2011 at 4:43 PM, karl ramberg <[email protected]> wrote:

>
>
> On Mon, Jul 11, 2011 at 10:23 PM, John Zabroski <[email protected]>wrote:
>
>>
>>
>> On Mon, Jun 13, 2011 at 11:17 AM, Alan Kay <[email protected]> wrote:
>>
>>> It would be great if everyone on this list would think deeply about how
>>> to have an "eternal" system, and only be amplified by it.
>>>
>>> For example, take a look at Alex Warth's "Worlds" work (and paper) and
>>> see how that might be used to deal with larger problems of consistency and
>>> version control in a live system.
>>>
>>> I also believe that we should advance things so that there are no hidden
>>> dependencies, and that dependencies are nailed semantically.
>>>
>>
>> Alan/Alex,
>>
>> Worlds does not address how to debug a live system other than random
>> state-space exploration.
>>
>> Have you made progress I am not aware of?
>>
>> As I've said before, computer scientists must be much better at studying
>> living systems if they want to build systems that can function at scales
>> that exceed the capacity for humans to configure it.  How exactly does
>> "Worlds" truly deal with larger problems of consistency and version
>> control?  The same question applies to David Reed's TeaTime, which is really
>> just Worlds with an illusion of infinite memory.  I, too, could edit a
>> PhotoShop image forever and scroll through the history of every edit I ever
>> made using the History view, but I would need a lot of memory to do it.  In
>> practice, PhotoShop requires the user to do things like compacting layers
>> and other memory organization techniques.
>>
>> To really make something like TeaTime or Worlds useful, you need bounds on
>> how the history relation of a program affects the input/output relation.
>> Even with bounds, you can still have "glitches" like the Brock/Ackerman
>> Anomaly.  But the nice thing about bounds is there is a lot of mathematical
>> ways you can describe bounds, such as linear temporal logic or linear types
>> or just any linearity guarantee period.
>>
>> That said, it is okay to have hidden dependencies, as long as somebody is
>> allowed to check those dependencies at any point in time they please.  A bad
>> hidden dependency would be something like a NAT firewall causing a protocol
>> to stop working.  But an even more pernicious hidden dependency is in all
>> software: BUGS!
>>
>> Dealing with bugs has led Carl Hewitt to propose we should just live with
>> them, and reason about live systems using inconsistency tolerant logic.  He
>> prefers his own logic, DirectLogic.
>>
>> Cheers,
>> Z-Bo
>>
>> _______________________________________________
>> fonc mailing list
>> [email protected]
>> http://vpri.org/mailman/listinfo/fonc
>>
>> I wonder how these worlds would merge split streams of worlds. Or will
> worlds only allow branching without combining.
> Could I pull in another world and start combining them ?
> Or should they behave as website history, where I use the backbutton to
> trace may steps?
>
> Karl
>
>

There is a formalism for thinking about what you are describing, called
Oracles [1].  (It is used to define "Fudgets" or Functional Gadgets.)
Oracles basically have a decision function that "knows" which outcome (
"World" ) is going to materialize (create a side effect).  I am
oversimplifying, but I think this is what you are asking about.  Instead of
combining Worlds, you combine outcomes.  After all, a World says nothing
about how it "flows back" to reality to create, say, a coin flip.

Cheers,
Z-Bo

[1] http://lambda-the-ultimate.org/node/1665
_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to