On Thu, Mar 20, 2003 at 08:49:28AM -0800, Austin Hastings wrote:
--- Matthijs van Duin <[EMAIL PROTECTED]> wrote:
you seem to have a much complexer model of hypotheses than what's in my head.

The complex model is right -- in other words, if hypotheses are to be a first-class part of the language then they must interoperate with all the other language features.

(lots of explanation here)

You're simply expanding on the details your complex model - not on the need for it in the first place.


I'll see if I can write some details/examples of my model later, and show how it interacts with various language features in a simple way.


This leave only behavior regarding preemptive threads, which is
actually very easy to solve: disallow hypothesizing shared variables -- it simply makes no sense to do that. Now that I think of it, temporizing shared variables is equally bad news,
so this isn't something new.

I just realize there's another simple alternative: make it cause the variable become thread-local for that particular thread.



Hypothesize all the new values you wish, then pay once to get a mux,
then keep all the data values while you've got the mux. Shrinks your
critical region

You're introducing entirely new semantics here, and personally I think you're abusing hypotheses, although I admit in an interesting and potentially useful way. I'll spend some thought on that.



My experience has been that when anyone says "I don't see why anyone
would ...", Damian immediately posts an example of why.

No problem since it works fine in my model (I had already mentioned that earlier) - I just said *I* don't see why anyone would.. :-)



So, stop talking about rexen. When everyone groks how continuations
should work, it'll fall out.

rexen were the main issue: Dan was worried about performance


(And if you reimplement the rexengine using continuations and outperform Dan's version by 5x or better, then we'll have another Geek Cruise to Glacier Bay and strand Dan on an iceberg. :-)

I don't intend to outperform him.. I intend to get the same performance with cleaner, simpler and more generic semantics.


But as I said in my previous post.. give me some time to work out the details.. maybe I'll run into fatal problems making the whole issue moot :)

BTW, you say "reimplement" ? Last time I checked hypothetic variables weren't implemented yet, let alone properly interact with continuations. Maybe it's just sitting in someone's local version, but until I have something to examine, I can't really compare its performance to my system.

--
Matthijs van Duin  --  May the Forth be with you!

Reply via email to