Arantium Maestum

プログラミング、囲碁、読書の話題

SICPの勉強 問題2.23

リストの要素全てに副作用ありの関数を適用していく関数(戻り値はnil):

(defn for-each [f items]
  (if (empty? items)
    nil
    (do (f (first items))
        (for-each f (rest items)))))

そういえばこの関数に関してyoutubeのコメント欄でものすごいツッコマれていた。

www.youtube.com

subtle differenceじゃないだろ、副作用がある関数しか使えないことを明確にしろよ、とのことだが、ちょっとツッコミすぎな気がする。やっぱり関数型プログラミング畑の人だろうか。