[squeak-dev] Re: Bootstrap logic in recent Tweak-Core (?)
David Faught
dave.faught at gmail.com
Fri Jul 30 12:07:31 UTC 2010
On Thu, Jul 29, 2010 at 3:10 PM, David Faught <dave.faught at gmail.com> wrote:
>>On 7/29/2010 5:08 AM, David Faught wrote:
>>> On 7/29/2010, Andreas Raab wrote:
>>>> 1) Create a local proxy for the replicated object and have it control
>>>> the replicated target. This has the advantage that you don't need to
>>>> replicate the script but the disadvantage that the script is
>>>> disassociated from the object and won't persist if the local user drops out.
>>>>
>>>> 2) Replicate the script into the island and run it there. This is
>>>> obviously more in line with the ideas of Croquet but the thought of all
>>>> the things that could go wrong led me to never go down this path.
>
>>> Option number 2 is what I used in the MockTurtle demo. This project
>>> only used a code editor in the local proxy instead of tile scripting,
>>> and when the edit was accepted the script text was first locally
>>> syntax checked and then sent to the associated replicated object.
>>> This was actually lots of fun, but needed to have some "future"s
>>> handcoded in the edited source as I recall. Some keystrokes in the
>>> harness directed to the target replicated object caused editing or
>>> script execution to start. In my isolated testing, this worked just
>>> fine.
>
>>How did you deal with persistence and replication? One of the main
>>issues with the approach is having to include compiled methods in the
>>island snapshot. Or did you have an explicit "code sync" step before
>>replicating the island contents?
>
> I guess that I cheated by ignoring persistence and took a very simple
> minded approach. By choice there were no compiled methods. And yes,
> that limited its usefulness, but it was still lots of fun. The
> locally edited code was sent to the target replicated object as a text
> string and the replicated object saved it in a single instance
> variable, so each replicated object could have exactly one script.
> When the target object was triggered to run the code, it essentially
> did a "doIt" on the string. There wasn't anything more to it than
> that.
I never made any claims about this being a clever and elegant
implementation, but it worked and was lots of fun and interesting to
play with. I found out some things I never knew before, such as how
to do recursion in a single "doIt" string. It was a simple enough
case to experiment with some of the basic ideas. And I haven't seen
or heard of anyone who has completed a similar or better version of
this, outside of some discussion of the concepts. Here is my virtual
gauntlet being thrown to the floor. I will gladly yield to anyone
with a serious challenge.
> Cheers,
> Dave
More information about the Squeak-dev
mailing list
|