【发布时间】:2014-08-13 18:56:25
【问题描述】:
所以我一直在用 Haskell 开发一个简单的表达式求解器。我一直在尝试将我的一些代码从 do 表示法重构为应用程序代码,主要是因为我想了解应用程序是如何工作的。我不知道如何反应这个
factor :: Parser Expr
factor = do
char '('
x <- buildExpr
char ')'
return x
<|> number
<|> variables
<?> "simple expression"
怎样才能使它成为一种应用风格?我尝试了以下方法,但它不会输入检查
factor = pure buildExpr <$> (char '(' *> buildExpr *> char ')')
其中 buildExper 的类型为 Parser Expr。
【问题讨论】:
-
检查
char '(' *> buildExpr <* char ')'的类型(注意最后一个*>必须是<*,从那里开始。
标签: haskell