GHCは複数回使用される関数をインライン化しますか? 例えば:
{-# INLINE innerLoop #-}
innerLoop x = stuff...
g f =
f 0 + f 1 + f 2
を呼び出すg innerLoop
と、関数innerLoop
は 3 回複製されますか? それともただになるのg stuff...
でしょうか?
どうすればinnerLoop
複数回インライン化するように強制したり、複数回インライン化されないようにすることができますか?