From 86cd1075ca93f2072d4521849d09ae9a9139859e Mon Sep 17 00:00:00 2001 From: crumbtoo Date: Wed, 10 Jan 2024 11:03:06 -0700 Subject: [PATCH] decls fix --- src/RLP/Parse/Decls.hs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/RLP/Parse/Decls.hs b/src/RLP/Parse/Decls.hs index 201316b..07c8263 100644 --- a/src/RLP/Parse/Decls.hs +++ b/src/RLP/Parse/Decls.hs @@ -22,9 +22,11 @@ import Data.HashMap.Strict qualified as H import Data.Maybe (maybeToList) import Data.List (foldl1') import Data.Char +import Data.Function (fix) import Data.Functor import Data.Functor.Const import Data.Fix hiding (cata) +import GHC.Exts (IsString) import Lens.Micro import Lens.Micro.Platform import Rlp.Parse.Types @@ -156,9 +158,8 @@ decls = do space i <- L.indentLevel let indentGuard = L.indentGuard scn EQ i - -- indentGuard *> decl *> eol *> indentGuard *> decl - many $ indentGuard *> decl - -- many $ indentGuard *> decl <* (eol <|> eof) + fix \ds -> (:) <$> (indentGuard *> decl) + <*> (try ds <|> eof *> pure []) namevar :: Parser Name namevar = word