

Scala + Mozart/Oz - swannodette
http://lists.gforge.info.ucl.ac.be/pipermail/mozart-users/2011/011766.html

======
lars
Oz is a pretty damn cool language. But I think another thing that's hampering
its adoption, apart from syntax, is the lack of available libraries.

I also have to add to the praise of Concepts, Techniques, and Models of
Computer Programming. I remember in particular an exercise from that book
where you were asked to write a simple parser in a particular paradigm. It
basically asked you to write the procedure parse(code, syntax_tree), where
you'd give the code as the first parameter, and where syntax_tree was the
output parameter. Once you had made that, the last sub-exercise said "Oh BTW,
try calling your function with an empty code parameter, and an existing syntax
tree." Lo and behold, it worked! My parser could run in reverse, and it spat
out all strings that would produce the given syntax tree. This was a mind
blowing experience at the time.

~~~
rafaelferreira
Can you remember from which chapter is this exercise?

~~~
lars
I have the book here, and it turns out I'm misremembering. It's not an
exercise, but an example. It's on pages 643-648 (in my version), in the
chapter on relational programming.

------
rafaelferreira
I wonder why they're pursuing a proper extension of Scala. Odersky is working
with a group in Stanford to make the language even more extensible, in order
to enable parallel 'languages' to be implemented as domain specific languages
(i.e. as libraries). This seems like a much easier and more fruitful way to
popularize Oz (or something Oz-like).

Reference:
[http://infoscience.epfl.ch/record/150346/files/onl0000031-ch...](http://infoscience.epfl.ch/record/150346/files/onl0000031-chafi.pdf)

------
jimwise
For more on the "Functional Patters are Concurrency Patterns" idea, see Bob
Harper's recent post on the subject:

[https://existentialtype.wordpress.com/2011/03/17/parallelism...](https://existentialtype.wordpress.com/2011/03/17/parallelism-
is-not-concurrency/)

(The whole blog is worth reading; Harper is basically giving a blow-by-blow as
CMU rolls out it's new functional-programming-first CS curriculum.)

------
doublec
Wasn't functional programming with a Mozart/OZ Engine basically tried with
AliceML:

<http://www.ps.uni-saarland.de/alice/>

I'm not sure syntax is the main reason for slow uptake of Mozart. In fact the
syntax can offer some advantages. See this post by pvr about a tail recursive
append without helper functions:

<http://lambda-the-ultimate.org/node/755#comment-7056>

Chris Rathman followed up with an AliceML version and compares the syntax:

<http://lambda-the-ultimate.org/node/755#comment-7057>

I like Mozart/Oz but the two main things missing for me are unicode support
and 64 bit support.

~~~
mzl
AliceML is, AFAIK, more of an experiment in making a statically typed
Mozart/Oz like system.

------
rdtsc
For reference: <http://www.mozart-oz.org/>

My favorite features of M/Oz:

* logic programming:

[http://www.mozart-
oz.org/documentation/tutorial/node8.html#c...](http://www.mozart-
oz.org/documentation/tutorial/node8.html#chapter.concurrency)

* concurency:

[http://www.mozart-
oz.org/documentation/tutorial/node8.html#c...](http://www.mozart-
oz.org/documentation/tutorial/node8.html#chapter.concurrency)

------
Arrgh
Jonas Bonér has been a big fan of Mozart/Oz for a long time, so naturally he
rolled some dataflow concurrency support into Akka:
<http://doc.akka.io/dataflow-scala>

------
andrewcooke
pvr doesn't give up, does he? :o) i hope this one finally hits the big-time
(but i worry he's underestimating the complexity of scala and over-estimating
its popularity).

~~~
reeses
I used Oz/Mozart for a few years as my "side project language" in the
2003-2005 time frame, and definitely have the love for PvR.

I'm not entirely sure why he chose Scala either, but it will definitely make
for more accessible tool support now that Scala is getting first-class
treatment in IDEA, etc.

I guess the "obvious" available options are probably Erlang, Scala, and
Clojure, and Scala is definitely in the lead right now in terms of popularity
with the intended audience.

It could be worse, he could have decided to make a colorforth front-end. :-)

