diff options
author | Camil Staps | 2017-07-30 08:55:51 +0200 |
---|---|---|
committer | Camil Staps | 2017-07-30 08:55:51 +0200 |
commit | e3caf546e7271cea3bedb8fc00d8380bd54746e0 (patch) | |
tree | fb706a49d79c61d0a0b5bc25b479128aa2951fc4 /Sil/Util/Parser.dcl | |
parent | Start with positional errors (see #5) (diff) |
Make ParseState unique to reduce heap use
Diffstat (limited to 'Sil/Util/Parser.dcl')
-rw-r--r-- | Sil/Util/Parser.dcl | 6 |
1 files changed, 3 insertions, 3 deletions
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 |