Thanks, and the nice thing about a wiki is that anyone can edit it.  So by the time I read your email, David Hopwood had edited the page to include your changes!  Thanks. David.
 
I'm not sure, though, that I want the choice statement to be included in the declarative semantics.  The way I'm proposing to look at it, the choice statement causes the set of statements generated until that point to split into multiple sets (one for each choice branch), each of which is then augmented by the remainder of the program starting the with various choice branches.  So at the end, one gets for each terminating computation a collection of statements each of which represents a simple conjunction of statements.  At the top level, one can think of all those statement collections (or statement conjunctions) as themselves joined by disjunctions.
 
That's what I think is innovative about this way of looking at it. The Oz program is not to be understood declaratively. It is explicitly intended to be understood procedurally, where the intent of the procedure is to generate a set of conjunctions of declarative statements.  In other words, the or's are factored out and pushed up to the top level.
 
-- Russ

 
On 10/10/05, Raphael Collet <[EMAIL PROTECTED]> wrote:
Russ Abbott wrote:
> In
> http://cs.calstatela.edu/~wiki/index.php/Courses/CS_460/Fall_2005/Concurrent_logic_programming_in_Oz
> , I attempt to give a brief description of concurrent logic programming
> in Oz.  The first (and main) part is explicitly procedural. Its
> procedurality bothered me enough to prompt an attempt to offer a
> declarative interpretation. This seems somewhat unusual in that it
> offers a declarative version of logic programming in terms of a
> procedural version rather than the other way around.
>
> If anyone has any comments, I'd be very interested.

Well, that looks good!  Two comments:

In item 2.b, don't forget the "end" in the "if" statement:
if X<0 then fail end.

In the "Declarative interpretation", I suggest that you give the logic
semantics of the sequence and the choice.  If S1 and S2 are statements,
- S1 S2 can be read as "S1 AND S2";
- choice S1 [] S2 end can be read as "S1 OR S2".

Cheers,
raph
_________________________________________________________________________________
mozart-users mailing list                               [email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users



--
_____________________________________________
Professor, Computer Science
California State University, Los Angeles
o Check out my blog at http://russabbott.blogspot.com/
_________________________________________________________________________________
mozart-users mailing list                               
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to