Oz Language Specification
Bob Calco
bobcalco at tampabay.rr.com
Wed May 23 13:29:55 CEST 2007
Anyone:
Aside from the source code ;) is there interest in putting together a
formal language specification that someone wishing to port Oz to
another platform--in particular, say, .NET or Java--would adhere to?
I am motivated to undertake such a task--first, create the formal
language specification, and second to port it to .NET.
Another variant of this idea that I am considering is to create a new
language based on Oz but with a syntax more familiar to commodity
programmers, such as VB. Where I work now there are some 300 VB
developers. My role is domain architect in charge of application
design and frameworks. This is the source of my motivation.
For example, consider the following snippet from Denys' NLP book:
declare X0 X1 X2 X3 in
{Browse [X0 X1 X2 X3]}
thread
local Y0 Y1 Y2 Y3 in
{Browse [Y0 Y1 Y2 Y3]}
Y0 = X0 + 1
Y1 = X1 + Y0
Y2 = X2 + Y1
Y3 = X3 + Y2
{Browse completed}
end
end
X0 = 1
X1 = 2
X2 = 3
X3 = 4
This would translate to the following VB-like syntax in my imaginary
language:
Dim
X0, X1, X2, X3 As Dataflow
In
Browse({X0,X1,X2,X3})
Thread
Dim
Y0, Y1, Y2, Y3 As Dataflow
In
Browse({Y0,Y1,Y2,Y3})
Y0 = X0 +1
Y1 = X1 + Y0
Y2 = X2 + Y1
Y3 = X3 + Y2
Browse("completed")
End Scope
End Thread
End Scope
X0 = 1
X1 = 2
X2 = 3
X3 = 4
With .NET's DLR more or less lighting a way for dynamically typed
languages to be ported to the CLR, a fact in which I have recently
taken great interest, I would very much like to see Oz's multi-
paradigm programming concepts, and especially it's concurrent
programming, constraint programming, and network transparency
capabilities, take hold in the .NET universe that is currently my
daily bread.
Sincerely,
Bob Calco
More information about the mozart-hackers
mailing list