Συναρτησιακές παράμετροι

Μπορούμε να ορίσουμε ως ορίσμα μιας διαδικασίας ή συνάρτησης μια άλλη διαδικασία ή συνάρτηση αρκεί να ορίσουμε τον αντίστοιχο τύπο.

Παράδειγμα:

program maptest;
{$F+}
type
	realmap = function(x : real) : real;

function map2(f : realmap; n : real) : real;
begin
	map2 := f(f(n))
end;

function double(x : real) : real;
begin
	double := x * 2
end;

begin
	writeln(map2(double, 1))
end.
Το πρόγραμμα θα υπολογίσει την τιμή double(double(1)) και θα τυπώσει 4.

Σημείωση

Στην Turbo Pascal 7.0 πρέπει στην αρχή του προγράμματος να δωθεί το σχόλιο {$F+} για να υποστηριχτεί η λειτουργία αυτή.