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

Reply via email to