[Oberon] Oberon-07, recursion and type extension
    Richard Hable 
    informujo at aon.at
       
    Mon Sep  5 21:47:52 CEST 2016
    
    
  
Am 2016-09-05 um 12:52 schrieb Lars:
> PROGRAM Clever;
> 
> FUNCTION Recursive(i: INTEGER): INTEGER;
> BEGIN
>   Write(i);
>   i := i + 1;
>   IF i <= 6 THEN Result := Recursive(i);
> END;
> 
> BEGIN
>   Write('EWD ');
>   Recursive(4);
>   Readln;
> END.
Only very unexperienced functional programmers would write something
like this.
> I find this more convoluted and clever than a simple non recursive
> solution.  It's almost as if functional programming is a competition to
> see how many tricks you can get away with and still get cheered on by your
Actually, a functional-programming expert once said that "recursion is
the goto of functional programming", since most recursive functions can
be replaced by higher-level standard functions like "map" and "filter".
In my favorite functional programming language the above algorithm could
be written as follows:
"EWD " + SET (4..6): to list: flat map [Character] (?(i) i:out)
Richard
    
    
More information about the Oberon
mailing list