lets + let | ` <*> | + <*> | | + <*> | | | + pure (\x_0 -> \x_1 -> x_0) | | | ` pure (\x_0 -> x_0) | | ` chainPost | | + pure GHC.Tuple.() | | ` <*> | | + <*> | | | + pure (\x_0 -> \x_1 -> \x_2 -> x_0 x_2 x_1) | | | ` pure (\x_0 -> \x_1 -> x_0) | | ` satisfy (\c_0 -> GHC.Classes.not (('<' GHC.Classes.== c_0) GHC.Classes.|| (('>' GHC.Classes.== c_0) GHC.Classes.|| (('+' GHC.Classes.== c_0) GHC.Classes.|| (('-' GHC.Classes.== c_0) GHC.Classes.|| ((',' GHC.Classes.== c_0) GHC.Classes.|| (('.' GHC.Classes.== c_0) GHC.Classes.|| (('[' GHC.Classes.== c_0) GHC.Classes.|| ((']' GHC.Classes.== c_0) GHC.Classes.|| GHC.Types.False))))))))) | ` pure GHC.Tuple.() + let | ` chainPre | + <*> | | + pure (GHC.Types.:) | | ` <*> | | + <*> | | | + pure (\x_0 -> \x_1 -> x_0) | | | ` conditional | | | + condition | | | | ` look | | | | ` satisfy (\x_0 -> GHC.Types.True) | | | + default | | | | ` failure | | | + branch (\x_0 -> (\x_1 -> \x_2 -> (GHC.Classes.==) x_1 x_2) '<' x_0) | | | | ` <*> | | | | + <*> | | | | | + pure (\x_0 -> \x_1 -> x_0) | | | | | ` pure Parsers.Brainfuck.Types.Backward | | | | ` satisfy (\x_0 -> GHC.Types.True) | | | + branch (\x_0 -> (\x_1 -> \x_2 -> (GHC.Classes.==) x_1 x_2) '>' x_0) | | | | ` <*> | | | | + <*> | | | | | + pure (\x_0 -> \x_1 -> x_0) | | | | | ` pure Parsers.Brainfuck.Types.Forward | | | | ` satisfy (\x_0 -> GHC.Types.True) | | | + branch (\x_0 -> (\x_1 -> \x_2 -> (GHC.Classes.==) x_1 x_2) '+' x_0) | | | | ` <*> | | | | + <*> | | | | | + pure (\x_0 -> \x_1 -> x_0) | | | | | ` pure Parsers.Brainfuck.Types.Increment | | | | ` satisfy (\x_0 -> GHC.Types.True) | | | + branch (\x_0 -> (\x_1 -> \x_2 -> (GHC.Classes.==) x_1 x_2) '-' x_0) | | | | ` <*> | | | | + <*> | | | | | + pure (\x_0 -> \x_1 -> x_0) | | | | | ` pure Parsers.Brainfuck.Types.Decrement | | | | ` satisfy (\x_0 -> GHC.Types.True) | | | + branch (\x_0 -> (\x_1 -> \x_2 -> (GHC.Classes.==) x_1 x_2) ',' x_0) | | | | ` <*> | | | | + <*> | | | | | + pure (\x_0 -> \x_1 -> x_0) | | | | | ` pure Parsers.Brainfuck.Types.Input | | | | ` satisfy (\x_0 -> GHC.Types.True) | | | + branch (\x_0 -> (\x_1 -> \x_2 -> (GHC.Classes.==) x_1 x_2) '.' x_0) | | | | ` <*> | | | | + <*> | | | | | + pure (\x_0 -> \x_1 -> x_0) | | | | | ` pure Parsers.Brainfuck.Types.Output | | | | ` satisfy (\x_0 -> GHC.Types.True) | | | ` branch (\x_0 -> (\x_1 -> \x_2 -> (GHC.Classes.==) x_1 x_2) '[' x_0) | | | ` <*> | | | + <*> | | | | + pure (\x_0 -> \x_1 -> x_0) | | | | ` <*> | | | | + <*> | | | | | + <*> | | | | | | + pure (\x_0 -> \x_1 -> x_0) | | | | | | ` pure (\x_0 -> x_0) | | | | | ` <*> | | | | | + <*> | | | | | | + pure (\x_0 -> \x_1 -> x_0) | | | | | | ` satisfy (\x_0 -> GHC.Types.True) | | | | | ` ref | | | | ` <*> | | | | + pure Parsers.Brainfuck.Types.Loop | | | | ` rec | | | ` <*> | | | + <*> | | | | + pure (\x_0 -> \x_1 -> x_0) | | | | ` pure ']' | | | ` satisfy ((GHC.Classes.==) ']') | | ` ref | ` pure GHC.Types.[] ` <*> + pure GHC.Show.show ` <*> + <*> | + <*> | | + pure (\x_0 -> \x_1 -> x_0) | | ` pure (\x_0 -> x_0) | ` ref ` ref