'let'上的Haskell Parse错误

And*_*art 1 haskell let rabin-karp

所以我是Haskell的新手,我必须编写Rabin Karps算法.我觉得我的答案应该可以工作,但是当我编译时,我仍然会在"let'"错误中出现"解析错误".有人可以帮帮我吗

这是我的代码:

import Data.Char

hash :: String -> Int
hash [] = -1
hash (x:xs) = ((ord x))

rabinKarp :: String -> String -> Bool
rabinKarp [] _ = False
rabinKarp mainString patternString
    let
     hashPattern = hash patternString
     hashMain = hash (take (length pattern) mainString)
    if hashPattern == hashMain
    then True
    else rabinKarp (drop 1 mainString) patternString
Run Code Online (Sandbox Code Playgroud)

lar*_*yde 5

你错过了一个=,也是一个in

rabinKarp mainString patternString =
    let
     hashPattern = hash patternString
     hashMain = hash (take (length pattern) mainString)
    in if hashPattern == hashMain
     then True
     else rabinKarp (drop 1 mainString) patternString
Run Code Online (Sandbox Code Playgroud)

编辑: in