Concurrency in Slate
Brian Rice
water at tscnet.com
Mon Jun 5 20:55:35 PDT 2000
At 07:50 PM 6/5/00 -0700, Alex Kravets wrote:
>Brian, first of all, I'd like to express my admiration for
>the ambitious project you guys are undertaking with Slate.
Thanks. Maybe someday I'll actually be making money on this. ;)
>I'm extremely impressed with the set of ideas you decided to
>borrow from other experimental languages to implement in Slate.
Again, thanks. I'm really pushing hard to make it come together right, and
there have been quite a few delays due to trying to satisfy Tunes HLL
documentation to the nearest extent possible. There will be a new set of
documentation soon that will provide a very conrete explanation of all the
ideas I have compiled and what that will translate to for the user of the
language and how an implementation can satisfy the specification. (This is
very time-consuming, as you might imagine. We're also migrating the Tunes
site documentation as well as the Slate and Arrow documentation to a new,
more flexible system.)
>I noticed that in the Slate semantics page you state:
>
>Update: The option for a lazy functional language to use demand-driven
>concurrency control in a way that makes concurrency and distribution issues
>transparent and subject to data-flow dependencies. In this way, everything
>is a thread that can be orthogonally-distributed. This allows for all of the
>concurrency semantics one could wish for with a clean basis.
>Is it correct to assume that you decide to adopt a wait-by-necessity model
>akin to that proposed by Eifell // at:
>http://www.eiffel.com/doc/manuals/technology/concurrency/
>also discussed within the Merlin Project at:
>http://www.google.com/search?q=cache:www.lsi.usp.br/~jecel/selfdiff.html+wai
>t-by-necessity&hl=en
Yes, that's correct. However, there's of course some indeterminacy that we
would like to open up to the programmer through an aspect of the reflective
interface (the MOP). Of course data-flow dependencies provide you a
framework of constraints for code scheduling, but there should be a way to
open up the mechanisms of the scheduling and change them. For technical
detail, look at papers on term rewrite as a meta-language for expressing
various modes of concurrency specification (up to and including real-time
systems specifications).
>Cheers ...
>
>Alex Kravets, Lead Architect
>http://www.FirstLook.com/
Thanks,
~
More information about the Slate
mailing list