[Oberon] Incremental evolution of piping system?

eas lab lab.eas at gmail.com
Wed Jan 11 04:24:52 CET 2017


No!
FeedTheDog; FeedTheCat; FeedTheChickens;
is not piping/FunctionalProgramming.

Piping/FP is were the input to stage N is supplied by a previous stage.
My above [not function] example is a sequence of independent Procedures.

A further example of what IS piping/FP:
 before I  restored a Linux system and was forced to use M$, the TextToSpeech
needed to:
RemoveAll <EndOfLine> | RepaceAllBy(%, percent) |
ConvertText2wav(TxtFile,WavFile)
 | ConvertWavToMp3(WavFile,Mp3File) > Outputdevice

Then I discovered the M$ system says: " em <pause> are <pause> Jones",
 instead of: "Mister Jones".
So I need to insert a FP/piping-stage, which has input:
The-being-cleaned-up-text,
 and output the text with "Mr." fixed.

*Importantly*  FP/piping gives extreme modularity: ie. the <Fix Mr.> stage needs
no knowledge by the user of how other stages work.

== Chris Glur.




On 12/22/16, Douglas G Danforth <danforth at greenwoodfarm.com> wrote:
> On 12/21/2016 4:11 AM, eas lab wrote:
>> Under *nix, one would write a script to do the task;
>> but the disadvantage is the difficult syntax, requiring a
>> steep-learning-curve.
> In V4 Oberon "par" is exported from which you can extract "arguments"
> from a "command line", i.e. and text in any viewer, so that one can do
> your piping.
>
> In BlackBox/Component Pascal one can write something like this:
> "HostDialog.InitPageSetup; StdCmds.OpenToolDialog('Host/Rsrc/Setup',
> '#System:PageSetup')"
> where the is a "commander" which when clicked executes the list of
> commands following it.  The
> example above opens a dialog window for specifying how you wish to print
> a file.
>
> Many other command sequences are possible.
> -Doug Danforth
>
> --
> Danforth of the Greenwood
>
>


More information about the Oberon mailing list