diff options
Diffstat (limited to 'frontend/parse.icl')
-rw-r--r-- | frontend/parse.icl | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/frontend/parse.icl b/frontend/parse.icl index 9cc7731..d69bece 100644 --- a/frontend/parse.icl +++ b/frontend/parse.icl @@ -1861,6 +1861,7 @@ trySimpleExpressionT token is_pattern pState = (False, PE_Empty, tokenBack pState) = trySimpleNonLhsExpressionT token pState +trySimpleNonLhsExpressionT :: !Token *ParseState -> *(!Bool,!ParsedExpr,!*ParseState) trySimpleNonLhsExpressionT BackSlashToken pState # (lam_ident, pState) = internalIdent "\\" pState (lam_args, pState) = wantList "arguments" trySimpleLhsExpression pState @@ -1876,8 +1877,9 @@ trySimpleNonLhsExpressionT BackSlashToken pState EqualToken -> pState DotToken -> pState _ -> parseError "lambda expression" (Yes token) "-> or =" (tokenBack pState) -//trySimpleNonLhsExpressionT (LetToken strict) pState -trySimpleNonLhsExpressionT (LetToken strict=:False) pState // let! is not supported in Clean 2.0 +trySimpleNonLhsExpressionT (LetToken strict) pState // let! is not supported in Clean 2.0 + | strict = (False, PE_Empty, parseError "Expression" No "let! (strict let) not supported in this version of Clean, expression" pState) + // otherwise # (let_binds, pState) = wantLocals pState pState = wantToken FunctionContext "let expression" InToken pState (let_expr, pState) = wantExpression cIsNotAPattern pState |