archives

Announcing Ozma: extending Scala with Oz concurrency

I am happy to announce the release of Ozma, a conservative extension to Scala that adds Oz concurrency. Ozma was developed as a master's thesis by Sébastien Doeraene under my supervision (see the implementation and the master's thesis).

Oz is a multi-paradigm language that has strong support for concurrent and distributed programming. It compiles to its own virtual machine (called Mozart) that supports dataflow synchronization and lightweight threads.

Scala is a functional and object-oriented language with implementations for the JVM and .Net. It is completely interoperable with Java.

Ozma is an attempt at making the concurrency concepts of Oz available to a larger public. Ozma implements the full Scala specification and runs on the Mozart VM. It can therefore be seen as a new implementation of Scala. Ozma extends Scala with dataflow variables (allowing tail-recursive list functions), declarative (deterministic) concurrency, lazy declarative concurrency, and message-passing concurrency based on ports. Almost all the concurrency examples of CTM can be translated easily to Ozma. We can say that Ozma lifts the duality of Scala, namely the combination of functional and object styles, to concurrent programming.

Inconsistency Robustness 2011 at Stanford

Folks,

You might be interested in Inconsistency Robustness 2011 at Stanford. Registration is now open at
http://register.robust11.org for the Symposium (http://poster.robust11.org).

The program will be posted soon.

Thanks!
Carl

PS. Please pass the word.

PPS. Please note that there are substantial savings from registering early.

Wittgenstein versus Turing on Inconsistency Robustness

Turing differed fundamentally on the question of inconsistency from Wittgenstein when he attended Wittgenstein’s seminar on the Foundations of Mathematic:ssee Historical development of Incompleteness and Inconsistency]:

Wittgenstein: Think of the case of the Liar: It is very queer in a way that this should have puzzled anyone — much more extraordinary than you might think... Because the thing works like this: if a man says 'I am lying' we say that it follows that he is not lying, from which it follows that he is lying and so on. Well, so what? You can go on like that until you are black in the face. Why not? It doesn't matter. ...it is just a useless language-game, and why should anyone be excited?

Turing: What puzzles one is that one usually uses a contradiction as a criterion for having done something wrong. But in this case one cannot find anything done wrong.

Wittgenstein: Yes — and more: nothing has been done wrong, ... where will the harm come?

Turing: The real harm will not come in unless there is an application, in which a bridge may fall down or something of that sort…. You cannot be confident about applying your calculus until you know that there are no hidden contradictions in it.

Wittgenstein: There seems to me an enormous mistake there. ... Suppose I convince [someone] of the paradox of the Liar, and he says, 'I lie, therefore I do not lie, therefore I lie and I do not lie, therefore we have a contradiction, therefore 2x2 = 369.' Well, we should not call this 'multiplication,' that is all...

Turing: Although you do not know that the bridge will fall if there are no contradictions, yet it is almost certain that if there are contradictions it will go wrong somewhere.

Wittgenstein: But nothing has ever gone wrong that way yet...

Because contemporary large software systems are pervasively inconsistent, it is not safe to reason about them using classical logic. [see Common sense for inconsistency robust information integration].