私は大学のコースで Haskell を学んでおり、還元可能な式 (redexes) について質問があります。私は概念を理解していますが、自分では理解できないように見えるいくつかの質問がまだあります.
次のように、式内のすべての簡約可能な式を見つけたいとします。
head (map (+1) (3:repeat 3))
この式ではmap (+1) (3:repeat 3))
、 の定義に一致するため、明らかな再表現が行われるためmap
、Haskell は式を「縮小」し、 andmap
をインクリメントし3
ます4:map (+1) (repeat 3)
。次に削減されます。
私が持っている質問は次のとおりです。
が評価さhead (map (+1) (3:repeat 3))
れる前に、既に redexですか?map
の「入力」がhead
リストのコンストラクター (head
探しているもの) と一致しないため、論理的にはまだ縮小できないため、まだ redex であるかどうかについて混乱していますが、オンラインの定義はだろうと言っています。