Haskell方程根编译错误

fla*_*nka 0 haskell functional-programming

以下算法用于计算二次方程根,但编译它会产生编译错误.我从教程中复制了它.

2 roota.hs:5:20: parse error on input `='

roots (a,b,c) = 
        if d < 0 then error "sorry" else (x1, x2)
        where x1 = e + sqrt d / (2 * a)
            x2 = e - sqrt d / (2 * a)
            d = b * b - 4 * a * c
            e = - b / (2 *a)
Run Code Online (Sandbox Code Playgroud)

谢谢你的回答.

Jan*_*Jan 5

这是缩进的问题.尝试

roots (a,b,c) = 
         if d < 0 then error "sorry" else (x1, x2)
         where
           x1 = e + sqrt d / (2 * a)
           x2 = e - sqrt d / (2 * a)
           d = b * b - 4 * a * c
           e = - b / (2 *a)
Run Code Online (Sandbox Code Playgroud)

另请参阅有关缩进的问题以及来自Haskell Wikibook的文章.