[Oberon] Functional programming and Oberon
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