myElemsと呼ばれるHaskell関数を書いています
これは2つの値のリストを取り、最初のリストのすべての値が2番目のリストにある場合にtrueを返します。たとえば、myElems "db" "abcd"戻る必要trueがありますが、myElems [1,2] [0,1,3,4]戻る必要がありfalseます。
myElem機能はこんな感じ
myElem n [] = False
myElem n (x:xs) = if n == x then True else myElem n xs
この関数は問題なく動作しますが、この形式のmyElems関数に適用しようとすると
myElems xs [] = False
myElems [] ys = False
myElems (x:xs) (y:ys) = if myElem y xs /= myElem x ys then False else myElems (tail xs) (tail ys)
まったく機能しません。