APLでは、関数が関数の引数として渡されない場合があります。ただし、APLには高次関数である演算子があり、関数を引数として使用できます。たとえば、ベクトル + / vを要約するために使用される /(削減)のような原始的な演算子があります。関数 +は左オペランドであり、演算子に渡されます。
Dyoyog APLでは、(「Power」という名前の名前が付けられた)を使用して、関数をn回適用して、次のことを使用する原始演算子があります。
double←{2×⍵}
(double ⍣ 2) 7
28
(double ⍣ 10) 7
7168
自分のオペレーターを(ほとんどのAPLで)書くこともできます。 Dyoyog APLでは、ApplyTwiceオペレーターを次のように記述できます。
applytwice←{⍺⍺ ⍺⍺ ⍵}
double applytwice 7
28
最後に、名前空間に配置し、代わりに名前空間を渡すことで、関数を渡すことができます。これは、メソッドを備えたクラスの非常に軽量なインスタンスのようなものです。例えば:
s←⎕NS ''
s.f←{2×⍵}
ApplyFTwice←{⍺.f ⍺.f ⍵}
s ApplyFTwice 7
28
この場合、関数の名前はFと名付けられなければなりませんが、それぞれが独自の名前空間にある多くの異なる関数がfという名前の異なる関数ができます。