Имена подпрограмм могут выступать в роли аргументов для других подпрограмм. В разделе type параметры функции/процедуры задаются одним из следующих способов:
имя типа = function ( список параметров ) : тип результата;
или
имя типа = procedure ( список параметров );
Например:
type func = function(a,b:integer):integer;