From e3caf546e7271cea3bedb8fc00d8380bd54746e0 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Sun, 30 Jul 2017 08:55:51 +0200 Subject: Make ParseState unique to reduce heap use --- Sil/Util/Parser.dcl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Sil/Util/Parser.dcl') diff --git a/Sil/Util/Parser.dcl b/Sil/Util/Parser.dcl index 8474b78..6f5929c 100644 --- a/Sil/Util/Parser.dcl +++ b/Sil/Util/Parser.dcl @@ -17,7 +17,7 @@ from Sil.Error import :: Error fromPositioned :: (Positioned a) -> a -:: ParseState a +:: *ParseState a :: ParseInput a = PI_NewLine @@ -25,7 +25,7 @@ fromPositioned :: (Positioned a) -> a makeParseState :: [ParseInput a] -> ParseState a -:: Parser a b = Parser ((ParseState a) -> (MaybeError Error b, ParseState a)) +:: Parser a b = Parser (*(ParseState a) -> *(MaybeError Error b, *ParseState a)) instance Functor (Parser a) instance Applicative (Parser a) @@ -35,7 +35,7 @@ instance Alternative (Parser a) class name a :: a -> String instance name String -runParser :: (Parser a b) (ParseState a) -> (MaybeError Error b, ParseState a) +runParser :: (Parser a b) *(ParseState a) -> *(MaybeError Error b, *ParseState a) getPositioner :: Parser a (b -> Positioned b) () :: (Parser a b) Error -> Parser a b fail :: Parser a b -- cgit v1.2.3