diff --git a/src/Data/Syntax/Assignment.hs b/src/Data/Syntax/Assignment.hs index 119f7e8e5..a9fc72a8d 100644 --- a/src/Data/Syntax/Assignment.hs +++ b/src/Data/Syntax/Assignment.hs @@ -174,7 +174,7 @@ type Location = '[Info.Range, Info.Span] type AST grammar = Cofree [] (Node grammar) data Node grammar = Node - { nodeSymbol :: {-# UNPACK #-} !grammar + { nodeSymbol :: !grammar , nodeByteRange :: {-# UNPACK #-} !Info.Range , nodeSpan :: {-# UNPACK #-} !Info.Span } @@ -315,7 +315,7 @@ data State ast grammar = State { stateOffset :: {-# UNPACK #-} !Int -- ^ The offset into the Source thus far reached, measured in bytes. , statePos :: {-# UNPACK #-} !Info.Pos -- ^ The (1-indexed) line/column position in the Source thus far reached. , stateErrorCounter :: {-# UNPACK #-} !Int -- ^ Monotonic counter tracking the number of error handlers invoked. - , stateNodes :: {-# UNPACK #-} ![ast] -- ^ The remaining nodes to assign. Note that 'children' rules recur into subterms, and thus this does not necessarily reflect all of the terms remaining to be assigned in the overall algorithm, only those “in scope.” + , stateNodes :: ![ast] -- ^ The remaining nodes to assign. Note that 'children' rules recur into subterms, and thus this does not necessarily reflect all of the terms remaining to be assigned in the overall algorithm, only those “in scope.” } deriving (Eq, Show)