Higher-order functions: Difference between revisions
Content deleted Content added
Line 2,452:
{{works with|FreePascal|version 3.2.0 }}
<lang Pascal>
UNIT MRF;
{$mode Delphi} {$H+} {$J-} {$R+} (*) https://www.freepascal.org/docs-html/prog/progch1.html (*)
Line 2,469 ⟶ 2,468:
(*)
INTERFACE
USES
Math,
SysUtils,
Line 2,485 ⟶ 2,486:
FunD = FUNCTION ( x,y : longint ) : longint ;
PROCEDURE Show ( x: variant ) ;
FUNCTION Map ( f: FunA ; x: Varyray ) : Varyray ; overload ;
PROCEDURE Map ( f: FunB ; x: Varyray ) ; overload ;
FUNCTION Map ( f: FunC ; x, y: Varyray ) : Varyray ; overload ;
FUNCTION Map ( f: FunD ; x, y: Varyray ) : Varyray ; overload ;
FUNCTION Filter ( f: FunA ; x: Varyray ) : Varyray ;
FUNCTION FoldL ( f: FunC ; x: Varyray ) : variant ; overload ;
FUNCTION FoldL ( f: FunD ; x: Varyray ) : variant ; overload ;
FUNCTION Reduce ( f: FunC ; x: Varyray ) : variant ; overload ;
FUNCTION Reduce ( f: FunD ; x: Varyray ) : variant ; overload ;
FUNCTION FoldR ( f: FunC ; x: Varyray ) : variant ; overload ;
FUNCTION FoldR ( f: FunD ; x: Varyray ) : variant ; overload ;
FUNCTION Add ( x, y: variant ) : variant ;
FUNCTION Add1 ( x: variant ) : variant ;
FUNCTION AND_xy ( x, y: variant ) : variant ;
FUNCTION AVG ( x: Varyray ) : variant ;
FUNCTION cosine ( x: variant ) : variant ;
FUNCTION Is_Even ( x: variant ) : variant ;
FUNCTION Mult ( x, y: variant ) : variant ;
FUNCTION Is_Odd ( x: variant ) : variant ;
FUNCTION OR_xy ( x, y: variant ) : variant ;
FUNCTION RandFillInt ( x: variant ) : variant ;
FUNCTION RandFillReal ( x: variant ) : variant ;
FUNCTION sine ( x: variant ) : variant ;
FUNCTION ForAll ( f: FunA ; x: Varyray ) : variant ;
FUNCTION AnyOf ( f: FunA ; x: Varyray ) : variant ;
IMPLEMENTATION
PROCEDURE Show ( x: variant ) ;
BEGIN write( x, ' ' ) ; END ;
Line 2,815 ⟶ 2,846:
END ;
END.
|