[Oberon] Functional composition?
lab.eas at gmail.com
Sun Jan 12 05:15:30 CET 2014
Modules are marvelous to hide clutter, and reduce the human memory load.
But functional-composition goes further:
there's no arguments type & order to remember; there's only "it".
If the task works up to stage N, you don't need to remember/understand
previous stages, other than the interface between N & N+1.
ETHO has a remarkable little-known application <a scheme based drawing
program>, which built scheme on ETHO and then the drawing program on scheme.
What about functional-composition abilities for ETHO, by a simular approach?
I never managed to use "layla?" because of the documentaion.
Was the contributed-ap: toy, going towards functional-composition?
Here's a taste of what FC can do:-
Today I had a serious problem, to find the text-file of the TextToSpeech,
which which 'mentioned' some legal matter.
Several approaches of FC failed; eg:
`find` FileSubTree DaysOld <containing an unusual text-string>.
Finally `lsof | grep wily | grep egal` gave me 4 files, and success.
Don't be distracted by unfamiliar syntax. it's just a chain of 3 commands:
1=list the table of open files;
2=but only the lines containing "wily" [which I knew was involved];
3=and only the lines containing "egal" [since that would be in the path].
Just to give an idea of the magnitude of data that such simple FC can
handle without writing/compiling code:
`lsof | wc -l` = 10447 <-- List open Files & count number of lines in table!
I've got 16 workspaces with an average of 5 terminal each, from work
accumulated over 2 weeks. So, "lots of books are open".
A further example shows how reformatting cited text in eg.
">> badly line-broken
> USEnet articles ..." is easily achived
1. replace each EndOfLine with <space>
2. fold the text at word-boundries at eg. '72<LineLen'
3. prepend required eg. ">>>" to each line.
IMO the various CF should be just pulled-off-a-menu:
an extention of N-O's Tools.
More information about the Oberon