shithub: MicroHs

Download patch

ref: e9dc058f64936d6f28e09c702b73da82405757ef
parent: 3617e0f7af66ff17acfcb539b3862a5f60010a5b
author: Lennart Augustsson <lennart.augustsson@epicgames.com>
date: Mon Sep 18 20:03:55 EDT 2023

Use eoptional

--- a/src/MicroHs/Parse.hs
+++ b/src/MicroHs/Parse.hs
@@ -218,7 +218,7 @@
 pBlock p = P.do
   pSpec '{'
   as <- esepBy p (pSpec ';')
-  optional (pSpec ';')
+  eoptional (pSpec ';')
   pSpec '}'
   pure as
 
@@ -246,7 +246,7 @@
 pImportSpec =
   let
     pQua = (True <$ pKeyword "qualified") <|< pure False
-  in  ImportSpec <$> pQua <*> pUQIdentA <*> optional (pKeyword "as" *> pUQIdent)
+  in  ImportSpec <$> pQua <*> pUQIdentA <*> eoptional (pKeyword "as" *> pUQIdent)
 
 --------
 -- Types
@@ -285,7 +285,7 @@
 pTypeApp = P.do
   f <- pAType
   as <- emany pAType
-  mt <- optional (pSymbol "::" *> pType)
+  mt <- eoptional (pSymbol "::" *> pType)
   let
     r = foldl EApp f as
   pure $ maybe r (ESign r) mt
@@ -393,7 +393,7 @@
 pExprApp = P.do
   f <- pAExpr
   as <- emany pAExpr
-  mt <- optional (pSymbol "::" *> pType)
+  mt <- eoptional (pSymbol "::" *> pType)
   let
     r = foldl EApp f as
   pure $ maybe r (ESign r) mt
--