【问题标题】:Desugaring rule for case expression within a do block.do 块中 case 表达式的脱糖规则。
【发布时间】:2014-11-01 14:52:03
【问题描述】:

我正在阅读关于 Monad Transformers 的 this 教程。它包含一个示例代码,其中 case 表达式出现在 do 块中(如下图底部所示)。

这种 case 表达式脱糖成什么?

【问题讨论】:

    标签: haskell


    【解决方案1】:

    do 块中的case 表达式不会像在do 块之外那样去糖。它们只是Monad m => m a 类型的表达式。

    它与if 非常相似,也没有脱糖。

    【讨论】:

    • 严格来说,我想你想说他们至少需要是Monad m => m a 的类型才能通过类型检查器。它们可以对任何类型进行脱糖,但您的程序可能不会进行类型检查。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-06
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多