[Oberon] Trivialising formality considered harmful

Alan Freed AlFreed at ohio.net
Thu Mar 16 03:02:48 CET 2006

On Wednesday 15 March 2006 05:27 pm, jan verhoeven wrote:
> Op Wednesday 15 March 2006 22:24 schreef August Karlstrom:
>  > there is really nothing wrong with e.g. ArcSinH (or even ASinH),
> I like the ArcSinH since the capitals draw attention to the places where
> the significant things occur. It doesn't look good in a classroom or
> thesis.

I feel I need to add my two cents here.  In my libraries (CAT for O2 
and later CAPO for BB and AO) I use the name ArcSinh :-)  If you're 
not familiar with these libraries, check them out.  They are on the 
ETH server somewhere.

>  > Basically, what I'm looking for is an actively developed free-standing
>  > open source (preferably cross platform) command line Oberon-2 compiler
>  > that comes with the Oakwood libraries.
> I think many more people are looking for that. Although most of the
> activity here is with respect to BlueBottle and the derivatives.
> I'm just a chemical engineer who got lost in programming. But I'm working
> on my m4m compiler: Modula for Microcontrollers. Since I lack a suitable
> background things take longer than I expected or hoped.
> Still, I learned a lot from the various forms of 'Compiler Construction'
> (by our Grand Master) and also the chapter about the compiler in 'Project
> Oberon' was very clarifying to me.
> These Oberon books have converted me. The project is still called m4m but
> it will be an Oberon compiler for microcontrollers. Oberon0 for starters. I
> hope to slowly extend the language to something resembling true Oberon in a
> few months after completion of the first m4m version. Continuous code
> refining, as our Grand Master calls it.
> As things look now, I want to have an m4m frontend that produces code for a
> virtual stackmachine, plus multiple backends that convert the stackmachine
> code to the target processors of my choice (Z80, GameBoy Color CPU, GameBoy
> Advance CPU, AVR Mega 16, Motorola 68K) and I will leave the PIC to other
> developers.
>  > I want to be able to write portable programs and I want to be able to
>  > choose freely between text editors (presently Emacs would be my choice).
> That rules out the XDS system.
>  > There is a standard for the Oberon-2 language, namely the reports "The
>  > Programming Language Oberon-2 (March 1995 ed.)" and "The Oakwood
>  > Guidelines for Oberon-2 Compiler Developers". The Oakwood guidelines and
>  > in particular the Oakwood libraries may not be perfect, but they allow
>  > developers and students to write portable programs.
> Good thinking.
>  > If a compiler writer who develops an Oberon-2 compiler called "ABC"
>  > wants to include some fancier versions of the basic modules, the natural
>  > names for those are "AbcStrings", "AbcFiles" and so on. The Oakwood
>  > modules shall not be renamed. If they are, the portability is lost. I
>  > think I'm really stating the obvious here.
> The obvious is not always thought of in the first place. Remember the
> Einstein/Wirth motto: make it as simple as possible, but not simpler.
>  > It's perfectly OK to implement the extensions described in the Oakwood
>  > guidelines or some other extensions, but I think a special compiler
>  > flag/option should need to be used to compile a module that uses these
>  > extensions, e.g. "--with-oak-extensions" or "--with-abc-extensions".
> That's what made gcc into the current monstruous program it is. It's a good
> C compiler, but it's just too big with too many flags.
> Why not make two compilers? One true Oakwood compiler and one or more
> others which are better, at least according to their developers. Having a
> choice is always good.
>  > Anyway, Oberon-2 is an excellent design as it is. Let's use it!
>  > Personally I don't need additional experimental features. I would like
>  > Oberon to be (as least) as portable as C.
> Here's a quote from Dennis Ritchie that I dug up lately:
> [Dennis]
>   C has been characterized (both admiringly and invidiously) as a portable
>   assembly language, and C++ tries to lift its level to object orientation
>   and a more abstract approach to programming.
>   The faults of both (in recently emerging standards) seem to be excessive
>   ornamentation and accumulation of gadgetry. They both have a certain
>   spirit of pragmatism, of trying to understand what's really needed.
> URL: http://www.linuxfocus.org/English/July1999/article79.html
> C and C++ are too big! Lean is better.
>  > I want to be able to recommend the Oberon programming language to others
>  > and I want them to be able (or even encourage them) to write portable
>  > programs.
> Which brings me back to another topic: it's apity that the great Oberon
> books are out of print.
> Although you still can get one at http://www.mediasell.de.
> But the ACM book is only available as a PDF file.

Alan D. Freed, PhD               AlFreed at ohio.net
Bio Sciece & Technology          Alan.D.Freed at nasa.gov
NASA Glenn Research Center
Dept. Biomedical Engineering     FreedA at ccf.org
The Cleveland Clinic
The opinions expressed are my own and do not reflect
those of either NASA or the Cleveland Clinic.

More information about the Oberon mailing list