我试图搜索关于使用Haskell定义简单语言的简单示例,但没有成功。
我在stackoverflow上找到了一篇类似的帖子,但当我实现它时,它似乎不起作用:
这种语言中的一个示例表达式是:
if true then x else (if false then y else true) 你的Haskell数据类型看起来像这样:
data Expr = Var String
| Lit Bool
| If Expr Expr Expr
然而,当我将“if true then x else (if false then y else true)”输入控制台作为输入时,它抱怨无法解释“x”。它也不喜欢“true”和“false”。
编辑:最后我确实得出了“show”。