[Oberon] Functional programming and Oberon

eas lab lab.eas at gmail.com
Sun Jan 8 13:06:58 CET 2017

I believe I started this thread about <functional> programming & ETHO;
because it's power/econony-of-effort has become [ever more] evident to me.

The thread has morphed into  multiple/confusing concepts and terminology.
"Piping" seems to capture the best cost-benefit aspect, which ETHO already
uses. Ie. <piping> is only one aspect of FP; but seems to offer great
productivety gains and is already acknowledged by usage, although never
AFAIK explicitly stated in ETHO's documents.

When they ask you Q: "how do you compile with oberon?", you just tell them
A: "we klik on Compiler.Compile ^ or Compiler.Compile *"
Q: "But that's got no parameter"
A: "We don't like 50N-char-ErrorProne parameters. We prefer to use the
 FP concept [and acknowledged as such eg. in ML] of 'it'.
 So both 'Compiler.Compile ^' and 'Compiler.Compile *'
 mean 'compile it'.

Similarly the output of each stage of piping/FP is simply "it".
With our existing system, the output is often a new TextFrame, which
via "*" [as "it"] becomes the input to the next stage.

Someone here already mentioned the <rough scripting facility>
which we already have; which closely relates to the ability to
write multi-stage piping scripts.

More information about the Oberon mailing list