输入"< - "时Haskell解析错误

gor*_*orn 1 compiler-construction haskell functional-programming compiler-errors ghc

似乎无法在Haskell中正确排列(缩进)此代码.得到错误:

parse error on input `<-'
Run Code Online (Sandbox Code Playgroud)

任何人都可以找到错误所在的位置:

evalListSplitAt n stratPref stratSuff [] = return []
evalListSplitAt n stratPref stratSuff xs = do ys` <- stratPref ys
                                              zs` <- stratSuff zs
                                            return (ys` ++ zs`)
                                            where (ys,zs) = splitAt n xs
Run Code Online (Sandbox Code Playgroud)

干杯.

Tik*_*vis 9

您需要do平均缩进块中的每一行.另外,请确保使用'变量名而不是`.(也就是说,使用撇号而不是反引号.反引号用于制作函数中缀,因此它们不能用作变量名的一部分.所以你可以使用撇号来命名"x prime":.x')所以你的代码应该看起来像这样:

evalListSplitAt n stratPref stratSuff [] = return []
evalListSplitAt n stratPref stratSuff xs = do ys' <- stratPref ys
                                              zs' <- stratSuff zs
                                              return (ys' ++ zs')
                                        where (ys,zs) = splitAt n xs
Run Code Online (Sandbox Code Playgroud)