줄리아에서 합성함수 사용하는 법
코드
julia> f(x) = 2x + 1
f (generic function with 1 method)
julia> g(x) = x^2
g (generic function with 1 method)
julia> (g ∘ f)(3)
49
설명
줄리아에서 함수의 합성은 프로그래밍적으로는 파이프 오퍼레이터와 흡사하다. 이러한 합성이 가능함으로써 가장 큰 이점은 수학자의 입장에서 수식을 코드로 표현하기가 쉬워진다는 것이다. 위 예시는 단지 다음의 수식을 코드로 옮긴 것에 불과하다.
$$ f(x) := 2x + 1 \\ g(x) := x^2 \\ (g \circ f) (3) $$
요즘은 많은 언어들이 그러하듯 함수를 일급 객체로 다루는 것은 똑같지만, 순수수학에서 함수 공간을 다루는 것처럼 조금 더 극단적인 철학을 거쳐 문법으로까지 발전한 것으로 볼 수 있다. 참고로 함수합성 연산자는 tex 문법 그대로 \circ
를 입력함으로써 사용할 수 있다.