私はいくつかの論理的な謎を解くためにそのような機能を持っています
iloczyny は、そのような構造[((0,0),(0,1),[5,0])...] 
[((cords1),(cords2),[Num1,Num2])..]
   kandydaciを持つリストであり、ソリューションのすべての可能な候補のpolaリストであり、マトリックス内のすべての可能な座標のリストです。
 候補を1つ選択し、それを可能な候補と比較してiloczyny、要素が等しい場合は、座標を削除しpolaて関数をもう一度呼び出したいです。   
 zbieraj iloczyny kandydaci pola = do
      element <- kandydaci
      (a,b,[c,d]) <- iloczyny
      guard (element == (c_n' [c,d]) && (elem a pola) && (elem b pola))
      nowa <- skasuj a b pola
      rk <- delete element kandydaci -- here is erorr 
      Couldn't match type `Integer' with `[Integer]'
      In the second argument of `zbieraj', namely `rk'
      reszta <- zbieraj iloczyny rk nowa
      return ([a,b] ++ reszta)
skasujはそのように見えますskasuj a b lista = delete b (delete a lista)
私はhaskellに精通しておらず、何が悪いのかわかりません