APL에서 함수는 기능에 대한 인수로 전달되지 않을 수 있습니다. 그러나 APL에는 인수로 기능을 취할 수있는 더 높은 차수 기능 인 연산자가 있습니다. 예를 들어 벡터 + / v를 요약하는 데 사용되는 / (축소)와 같은 원시 연산자가 있습니다. 함수 +는 왼쪽 피연산자이며 연산자 /로 전달됩니다.
Dyalog APL에는 ( "Power")를 사용하여 기능 N 시간을 적용하기 위해 원시 연산자가 있습니다.
double←{2×⍵}
(double ⍣ 2) 7
28
(double ⍣ 10) 7
7168
대부분의 APL에서 자신의 연산자를 쓸 수도 있습니다. Dyalog APL에서는 ApplyTwice 연산자를 다음과 같이 쓸 수 있습니다.
applytwice←{⍺⍺ ⍺⍺ ⍵}
double applytwice 7
28
마지막으로 네임 스페이스에 넣고 네임 스페이스를 대신 전달하여 기능을 전달할 수 있습니다. 이것은 방법이있는 매우 가벼운 클래스 인스턴스와 같습니다. 예를 들어:
s←⎕NS ''
s.f←{2×⍵}
ApplyFTwice←{⍺.f ⍺.f ⍵}
s ApplyFTwice 7
28
이 경우 함수의 이름이 F라는 이름을 지정해야하지만 각각 자체 네임 스페이스에서 F라는 많은 다른 기능을 할 수 있습니다.