ジュリアで合成関数を使用する方法
コード
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
説明
Juliaでは、関数の合成はプログラミングでのパイプオペレーターに似ている。この合成の最大の利点は、数学者が式をコードとして表現しやすくなることだ。上の例は、以下の数式をコードに翻訳したものに過ぎない。
$$ f(x) := 2x + 1 \\ g(x) := x^2 \\ (g \circ f) (3) $$
最近の多くの言語がそうであるように、関数をファーストクラスオブジェクトとして扱うことは同じだが、純粋数学で関数空間を扱うように、もう少し極端な哲学を経て文法にまで発展したと見ることができる。ちなみに、関数合成演算子はtexの文法そのままに\circ
を入力することで使用できる。