gpt4 book ai didi

Haskell 缩进问题

转载 作者:行者123 更新时间:2023-12-02 11:13:14 26 4
gpt4 key购买 nike

我使用 Visual Studio Code 作为chice的文本编辑器并且以下 Haskell 代码无法编译。显然是由于缩进或缺少括号错误。由于没有括号,我想知道问题出在哪里

safeSqrt :: Either String Doubble -> Either String | Doubble
safeSqrt sx =
case sx of
Left str -> Left str
Right x -> if x < 0
then Left "Error"
else Right $ sqrt x

GHCi 抛出以下错误消息:

Main.hs:51:1: error:
parse error (possibly incorrect indentation or mismatched brackets)
|
51 | safeSqrt sx =
| ^

大家可以帮忙吗

谢谢

汤姆

最佳答案

问题不在于缩进。它带有类型签名。您在 Either 的签名中使用了管道字符 (|)。你应该删除它。此外,您拼错了Double。虽然带有 double b 的 double 很好,但不幸的是它不是 Double 的名称:

safeSqrt :: Either String <b>Double</b> -> <b>Either String Double</b>
safeSqrt sx =
case sx of
Left str -> Left str
Right x -> if x < 0
then Left "Error"
else Right $ sqrt x

关于Haskell 缩进问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58893633/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com