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)
まったく機能しません。