From: ············@gmail.com
Subject: Is this the new generation SICP?
Date: 
Message-ID: <1132686396.790228.11870@o13g2000cwo.googlegroups.com>
http://www2.info.ucl.ac.be/people/PVR/book.html

From: ·············@gmail.com
Subject: Re: Is this the new generation SICP?
Date: 
Message-ID: <1132694275.804414.44040@g47g2000cwa.googlegroups.com>
············@gmail.com wrote:
>  Is this the new generation SICP?
> http://www2.info.ucl.ac.be/people/PVR/book.html

Yes, in the sense that "concepts techniques and models" covers a number
of programming models (functional, oo, logical, concurrent, etc) in a
single flexible language.

No, in the sense that Mozart/Oz syntax is nowhere near as regular as
scheme, which I think makes the models harder to explain and reason
about.  Tastes vary, but while reading CTM the code always looked like
an unholy union of ML and VB designed by people who liked prolog.  e.g.

fun {Flatten Xs}
	proc {FlattenD Xs ?Ds}
		case Xs
		of nil then Y in Ds=Y#Y
		[] X|Xr andthen {IsList X} then Y1 Y2 Y4 in
			Ds=Y1#Y4
			{FlattenD X Y1#Y2}
			{FlattenD Xr Y2#Y4}
		[] X|Xr then Y1 Y2 in
			Ds=(X|Y1)#Y2
			{FlattenD Xr Y1#Y2}
		end
	end Ys
in
	{FlattenD Xs Ys#nil} Ys
end
From: ············@gmail.com
Subject: Re: Is this the new generation SICP?
Date: 
Message-ID: <1132698061.010718.274860@g47g2000cwa.googlegroups.com>
·············@gmail.com wrote:
> ············@gmail.com wrote:
> >  Is this the new generation SICP?
> > http://www2.info.ucl.ac.be/people/PVR/book.html
>
> Yes, in the sense that "concepts techniques and models" covers a number
> of programming models (functional, oo, logical, concurrent, etc) in a
> single flexible language.
>
> No, in the sense that Mozart/Oz syntax is nowhere near as regular as
> scheme, which I think makes the models harder to explain and reason
> about. 

Can Scheme implement all the models as well as Oz can?
From: ············@gmail.com
Subject: Re: Is this the new generation SICP?
Date: 
Message-ID: <1132766730.635630.264220@f14g2000cwb.googlegroups.com>
············@gmail.com wrote:
> ·············@gmail.com wrote:
> > ············@gmail.com wrote:
> > >  Is this the new generation SICP?
> > > http://www2.info.ucl.ac.be/people/PVR/book.html
> >
> > Yes, in the sense that "concepts techniques and models" covers a number
> > of programming models (functional, oo, logical, concurrent, etc) in a
> > single flexible language.
> >
> > No, in the sense that Mozart/Oz syntax is nowhere near as regular as
> > scheme, which I think makes the models harder to explain and reason
> > about.
>
> Can Scheme implement all the models as well as Oz can?

I should rephrase my question, because just reading it, I realise it
could be misinterpreted as arguing. I'm *not* arguing, I'm asking, or
wondering, how those models are easier to explain and model about in
Scheme than Mozart/Oz. Scheme is definitely something that I'm learning
right now, Mozart/Oz is something that's on the Horizon, perhaps medium
to long-term horizon. I should perhaps not worry much about it for now,
but such long-term curiosities keep me a little amused and motivated,
as long as they don't distract me in an immediate, measurable way.
From: ·············@gmail.com
Subject: Re: Is this the new generation SICP?
Date: 
Message-ID: <1132769843.753899.82090@o13g2000cwo.googlegroups.com>
············@gmail.com wrote:
> I'm asking, or
> wondering, how those models are easier to explain and model about in
> Scheme than Mozart/Oz.

SICP goes about 250 pages of the way through the book with an
incredibly simple, substitution-based model for computation - because
of scheme's relative lack of syntax, everything is (procedure args . .
.).  To figure out what a statement means, you 1. evaluate
subexpressions; 2. apply the  procedure to the arguments.  That's it.
When they are forced to add the concept of an environment due to
assignment, its done in a very visual way that fits into the
substitution model.  Even then, it's still straightforward to evaluate
expressions by hand or in your head, using successive simplifications
of scheme statements, rather than another notation.

CTM has to start using EBNF grammars almost immediately, around p.35,
because Oz has more syntax. They add in the concepts of value store and
environment right away, because of  single-assignment variables.  They
do this using notation rather than visually or showing successive
simplifications in oz itself. I cant even give you their simplest
evaluation rule for oz over usenet, without symbols for subset /
intersection etc.  At several times while reading CTM, I thought to
myself, unless someone already understood the concepts being presented,
they wouldn't understand it based on this type of explanation.

> I should perhaps not worry much about it for now,

Read the first chapter of CTM and play along in mozart / oz.  That
should give you a basic overview of what the whole book is about.
Unless you're really interested in concurrency / distributed computing,
I wouldn't bother with it, especially before SICP.
From: Pascal Costanza
Subject: Re: Is this the new generation SICP?
Date: 
Message-ID: <3ujp1pF116tntU1@individual.net>
············@gmail.com wrote:
> ············@gmail.com wrote:
> 
>>·············@gmail.com wrote:
>>
>>>············@gmail.com wrote:
>>>
>>>> Is this the new generation SICP?
>>>>http://www2.info.ucl.ac.be/people/PVR/book.html
>>>
>>>Yes, in the sense that "concepts techniques and models" covers a number
>>>of programming models (functional, oo, logical, concurrent, etc) in a
>>>single flexible language.
>>>
>>>No, in the sense that Mozart/Oz syntax is nowhere near as regular as
>>>scheme, which I think makes the models harder to explain and reason
>>>about.
>>
>>Can Scheme implement all the models as well as Oz can?
> 
> I should rephrase my question, because just reading it, I realise it
> could be misinterpreted as arguing. I'm *not* arguing, I'm asking, or
> wondering, how those models are easier to explain and model about in
> Scheme than Mozart/Oz. Scheme is definitely something that I'm learning
> right now, Mozart/Oz is something that's on the Horizon, perhaps medium
> to long-term horizon. I should perhaps not worry much about it for now,
> but such long-term curiosities keep me a little amused and motivated,
> as long as they don't distract me in an immediate, measurable way.

The problem lies in the "as well"? When do you consider something to be 
as well implemented in one approach as in another one?

If you take Scheme + full-fledged macros you can make it look and behave 
almost any way you want. For some things, this will take more effort 
than for others. If your goal is to understand the differences at a 
deeper level, it's probably a good idea to just try and reimplement the 
various features of Mozart/Oz.


Pascal

-- 
My website: http://p-cos.net
Closer to MOP & ContextL:
http://common-lisp.net/project/closer/