From 9e1d65b41b0f5435859794682880c93767d1dc44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sat, 16 May 2026 16:06:39 +0200 Subject: More generic unification in for statement --- src/Parser/Statement.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/Parser/Statement.hs b/src/Parser/Statement.hs index c0a85e5..67f2f88 100644 --- a/src/Parser/Statement.hs +++ b/src/Parser/Statement.hs @@ -55,7 +55,8 @@ forStatement = do wsymbol "in" loff <- stateOffset <$> getParserState - SomeExpr e <- someExpr FunctionTerm + tvar <- newTypeVar + SomeExpr e <- unifySomeExpr loff (ExprTypeApp (ExprTypeConstr1 (Proxy :: Proxy [])) [ ExprTypeVar tvar ]) =<< someExpr FunctionTerm let err = parseError $ FancyError loff $ S.singleton $ ErrorFail $ T.unpack $ "expected a list, expression has type '" <> textExprType e <> "'" ExprListUnpacker unpack _ <- maybe err return $ exprListUnpacker e -- cgit v1.2.3