2
compress
は、リスト要素の連続する重複を削除する関数です。アルゴリズムのHaskell "as patterns"
compress (x:[email protected](y:_))
| x == y = compress ys
| otherwise = x : compress ys
compress ys = ys
さて、x:ys
ではありませんが(x:[email protected](y:_))
でy:_
と同じパターンでありますか?そうであれば、この関数はどのように正しく実行されますか?