私は Haskell の初心者で、リストをほぼ同じサイズの 2 つのサブリストに分割しようとしています。モジュールはロードできますが、ghci を実行しようとすると機能しません。
例:divideList [1,2,3,4] = [1,2] [3,4] splitList [1,2,3,4,5] = [1,2,3] [4,5]
divideList [] = ([],[])
divideList [x] = ([x],[])
divideList ((x:xs):ys) = if a < b
then splitAt (a+1) ((x:xs):ys)
else divideList (xs:ys)
where a = length xs
b = length ys
「リテラル '2' から生じる (Num[t0]) のインスタンスはありません」と述べています。修正方法がわかりません。誰でも私を助けることができますか?ありがとう!
これは、ghci で「divideList [2,3,5]」と入力したときに表示されるエラーです。
<interactive>:2:13:
No instance for (Num[a0]) arising from literal '2'
Possible fix: add an instance declaration for (Num[a0])
In the expression: 2
In the first argument of 'divideList', namely "[2,3,5]
In the expression: divideList [2,3,5]