It feels to me like you equate logic programming with search. Correct me if I'm
wrong.
To me, the combination of Prolog-like unification with threads that block on undetermined variables (dataflow) is the
core
of Oz concurrent logic programming, and I've never seen a more elegant and
easier way of writing multithreaded
programs. Careful extensions to that model then lead to different programming
paradigms. One such extension
is spaces, which introduces search. Other extensions lead to Java's model. And
so on. Which I find an amazing
achievement. To recap: dataflow is the natural starting point, and CTM does
exactly that.
Cheers,
Mark
----- Original Message -----
From: Russ Abbott
To: Alex Gian
Cc: [EMAIL PROTECTED]
Sent: Thursday, October 06, 2005 9:47 AM
Subject: Re: What is Mozart-Oz
If Mozart-Oz is a great Concurrent Logic system, then why not focus on that also? I don't see any of that in either CTM
or the Tutorial. The concurrency chapter of CTM looks like it's main concern is multi-threadded programming as in Java
rather than Concurrent Prolog style programming. But if one can teach concurrent logic programming using Mozart-Oz, it
certainly makes sense to make that a starting point. I would suggest that the target audience be taken to be competent
Java programmers.
Does one use Oz as a concurrent logic system with Or-concurrency, i.e., start a new thread for each choice? I haven't
thought about using it that way, but if that's a feasible approach, why doesn't CTM or the Tutorial present that
strategy? If Oz supports that sort of concurrent logic programming then I would present it as a primary focus. That
could be the introduction followed by CP as an abstraction of that model.
-- Russ
On 10/5/05, Alex Gian <[EMAIL PROTECTED]> wrote:
Russ
You might enjoy finding out a bit more about Oz's heritage.
The search model is derived from the Andorra Kernel Language, which was
state-of-the-art Parallel Logic Programming in its time.
OK, it's not Prolog, but that's mainly 'cause it's addressing major
*weaknesses* in the Prolog SLD resolution model, especially wrt concurrency.
*Concurrent* Logic is the operative term here.
Check out "Logic Programming in the context of multiparadigm
programming: The Oz experience" (Van Roy, Brand, Duchier, Haridi, Henz
& Schulte 2002) and I think you will get a lot from it, especially
secton 7, "The Oz execution model"
Just because it's a great CP system doesn't mean it's not a great
Concurrent Logic system, too.
Alex
_________________________________________________________________________________
mozart-users mailing list
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users
_________________________________________________________________________________
mozart-users mailing list
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users
_________________________________________________________________________________
mozart-users mailing list
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users