Douglas G. Danforth
danforth at greenwoodfarm.com
Mon Mar 27 23:02:51 CEST 2006
Al et al,
I have looked briefly at Zonnon and it became obvious to me that I
needed to spend significant time to absorb its essence.
(That comment says nothing about its worth, however)
Now, I have a question for all compiler writers and language extenders.
"What problem are you trying to solve?"
It would be very nice if in every language report right up front was a
section of why the "new" features are being added and what problems
motivated the need for these new features with lots of examples and how
the new features would simplify or solve the problems.
Here is an example where I *think* active objects would help me but I
don't know since the overhead in implementing with active Oberon or
Zonnon might be greater than by some other method. I am (as a hobby)
designing a rotary engine. I have graphically depicted it. But now I
would actually like to put hot gas into the engine and see how it
performs as a function of temperature, pressure, etc. I *think* one way
to do this is to use aggregated atoms (clusters of atoms which have
similar attributes) to approximate the 10^23 atoms in a real engine. I
prefer to do that rather than attempting to solve the Navier-Stokes
equation for my geometry.
So, assuming I am using Zonnon I would have to implement an object
(atomic cluster) that bounces off walls and other clusters. It would be
nice if, somehow, once I implement a single object that, voila, all
objects are implemented. The only difference between them is their
initial conditions. But it seems to me that the overseer would need to
be quite complex and outside the domain of each object (who do I pass
the message to that I am 'here' and moving 'there'?). So, naively, I
suspect that writing the code in Component Pascal or writing it in
Zonnon might be just as difficult. The only benefit would be the
(hidden) process handling. But Services.Action in Component Pascal can
Hence my over riding question is: what do I gain by using, say, Zonnon?
This is a true question and not meant at all to be a put down of Zonnon
or Active Oberon.
Now, here is what I would really like to see in a computer language:
Automatic implementation of mathematical theories that I write using a pen.
I assume this is still many decades in the future.
Alan Freed wrote:
> Zonnon is as different from Oberon, as Oberon is from Modula-2.
> The Zonnon compiler is still under development, although it is
> functional for the vast majority of cases. True, it is currently
> for the .NET framework, but there is a project in place where
> it will be ported over to MONO, which will be welcomed by
> many, myself included.
> Also, the Zonnon language is not 'cast in stone' yet. There
> are a few issues that remain to be formalized, for example,
> an advanced language structure for handling arrays. This
> will make Zonnon a very competitive language for those of
> us who write computationally intensive code.
> There are four separate compilation units in Zonnon: the
> module, definition, implementation and object. Also of note,
> objects can have bodies, like you are use to for modules.
> This makes initialization straightforward, and is necessary
> for active objects.
> One can get a feeling for Zonnon from the language report,
> which is still under development, too. However, from one
> who has done a fair amount of programming in Zonnon, the
> language report is no users manual, and many facets are
> nebulous. The best way to begin to appreciate Zonnon
> for its uniqueness is to play with it, and to study code that
> has been written in it.
> Give it a look at: http://www.zonnon.ethz.ch
>>> From: oberon-bounces at lists.inf.ethz.ch
>>> [mailto:oberon-bounces at lists.inf.ethz.ch]On Behalf Of John Drake
>>> Sent: Saturday, 25 March 2006 9:28 AM
>>> To: ETH Oberon and related systems
>>> Subject: Re: [Oberon] Just Starting With Oberon2
>>>> 1. Is Oberon still being actively developed?
>>> Oh. That's a LOADED question. Ok, ETH is
>>> actively (pardon the pun) developing "Active"
>>> Oberon AKA "BlueBottle". It's compiler is a
>>> superset of Oberon-0. (Read it's not Oberon-2
>>> compatible, though there are...or there at
>>> least HAVE been ways around that.)
>> ETH is also actively developing 'Zonnon', which, as far as I can tell, is a
>> superset of Oberon-2. It includes active objects, and also resurrects a
>> basic form of the Pascal Read and Write statements and the 'definition' and
>> 'implementation' pairs and enumerated types from Modula-2.
>> Chris Burrows
>> CFB Software
>> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
More information about the Oberon