Resolving dependencies... Build profile: -w ghc-9.2.4 -O0 In order, the following will be built (use -v for more details): - parsley-core-2.3.0.0 (lib:parsley-core) (requires build) - parsley-2.0.0.1 (first run) Starting parsley-core-2.3.0.0 (all, legacy fallback) Building parsley-core-2.3.0.0 (all, legacy fallback) Installing parsley-core-2.3.0.0 (all, legacy fallback) Completed parsley-core-2.3.0.0 (all, legacy fallback) Configuring parsley-2.0.0.1... Preprocessing library for parsley-2.0.0.1.. Building library for parsley-2.0.0.1.. [ 1 of 13] Compiling Parsley.Debug ( src/ghc/Parsley/Debug.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Debug.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Debug.dyn_o ) [ 2 of 13] Compiling Parsley.Defunctionalized ( src/ghc/Parsley/Defunctionalized.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Defunctionalized.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Defunctionalized.dyn_o ) [ 3 of 13] Compiling Parsley.InputExtras ( src/ghc/Parsley/InputExtras.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/InputExtras.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/InputExtras.dyn_o ) [ 4 of 13] Compiling Parsley.ParserOps ( src/ghc/Parsley/ParserOps.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/ParserOps.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/ParserOps.dyn_o ) [ 5 of 13] Compiling Parsley.Applicative ( src/ghc/Parsley/Applicative.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Applicative.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Applicative.dyn_o ) [ 6 of 13] Compiling Parsley.Char ( src/ghc/Parsley/Char.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Char.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Char.dyn_o ) [ 7 of 13] Compiling Parsley.Alternative ( src/ghc/Parsley/Alternative.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Alternative.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Alternative.dyn_o ) [ 8 of 13] Compiling Parsley.Combinator ( src/ghc/Parsley/Combinator.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Combinator.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Combinator.dyn_o ) [ 9 of 13] Compiling Parsley.Selective ( src/ghc/Parsley/Selective.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Selective.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Selective.dyn_o ) [10 of 13] Compiling Parsley.Register ( src/ghc/Parsley/Register.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Register.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Register.dyn_o ) [11 of 13] Compiling Parsley.Fold ( src/ghc/Parsley/Fold.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Fold.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Fold.dyn_o ) [12 of 13] Compiling Parsley.Precedence ( src/ghc/Parsley/Precedence.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Precedence.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley/Precedence.dyn_o ) [13 of 13] Compiling Parsley ( src/ghc/Parsley.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/Parsley.dyn_o ) Preprocessing test suite 'parsley-test' for parsley-2.0.0.1.. Building test suite 'parsley-test' for parsley-2.0.0.1.. [ 1 of 18] Compiling Parsley.Alternative.Parsers ( test/Parsley/Alternative/Parsers.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Alternative/Parsers.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Alternative/Parsers.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [ 2 of 18] Compiling Parsley.Applicative.Parsers ( test/Parsley/Applicative/Parsers.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Applicative/Parsers.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Applicative/Parsers.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [ 3 of 18] Compiling Parsley.Char.Parsers ( test/Parsley/Char/Parsers.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Char/Parsers.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Char/Parsers.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [ 4 of 18] Compiling Parsley.Combinator.Parsers ( test/Parsley/Combinator/Parsers.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Combinator/Parsers.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Combinator/Parsers.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [ 5 of 18] Compiling Parsley.Fold.Parsers ( test/Parsley/Fold/Parsers.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Fold/Parsers.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Fold/Parsers.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [ 6 of 18] Compiling Parsley.Precedence.Parsers ( test/Parsley/Precedence/Parsers.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Precedence/Parsers.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Precedence/Parsers.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [ 7 of 18] Compiling Parsley.Register.Parsers ( test/Parsley/Register/Parsers.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Register/Parsers.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Register/Parsers.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [ 8 of 18] Compiling Parsley.Selective.Parsers ( test/Parsley/Selective/Parsers.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Selective/Parsers.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Selective/Parsers.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [ 9 of 18] Compiling TestUtils ( test/TestUtils.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/TestUtils.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/TestUtils.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [10 of 18] Compiling Parsley.Selective.Test ( test/Parsley/Selective/Test.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Selective/Test.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Selective/Test.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [11 of 18] Compiling Parsley.Register.Test ( test/Parsley/Register/Test.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Register/Test.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Register/Test.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [12 of 18] Compiling Parsley.Precedence.Test ( test/Parsley/Precedence/Test.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Precedence/Test.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Precedence/Test.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [13 of 18] Compiling Parsley.Fold.Test ( test/Parsley/Fold/Test.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Fold/Test.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Fold/Test.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [14 of 18] Compiling Parsley.Combinator.Test ( test/Parsley/Combinator/Test.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Combinator/Test.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Combinator/Test.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [15 of 18] Compiling Parsley.Char.Test ( test/Parsley/Char/Test.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Char/Test.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Char/Test.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [16 of 18] Compiling Parsley.Applicative.Test ( test/Parsley/Applicative/Test.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Applicative/Test.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Applicative/Test.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [17 of 18] Compiling Parsley.Alternative.Test ( test/Parsley/Alternative/Test.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Alternative/Test.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Alternative/Test.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [18 of 18] Compiling Main ( test/Parsley/Tests.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Main.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Main.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [ 1 of 18] Compiling Parsley.Alternative.Parsers ( test/Parsley/Alternative/Parsers.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Alternative/Parsers.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Alternative/Parsers.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [ 2 of 18] Compiling Parsley.Applicative.Parsers ( test/Parsley/Applicative/Parsers.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Applicative/Parsers.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Applicative/Parsers.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [ 3 of 18] Compiling Parsley.Char.Parsers ( test/Parsley/Char/Parsers.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Char/Parsers.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Char/Parsers.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [ 4 of 18] Compiling Parsley.Combinator.Parsers ( test/Parsley/Combinator/Parsers.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Combinator/Parsers.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Combinator/Parsers.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [ 5 of 18] Compiling Parsley.Fold.Parsers ( test/Parsley/Fold/Parsers.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Fold/Parsers.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Fold/Parsers.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [ 6 of 18] Compiling Parsley.Precedence.Parsers ( test/Parsley/Precedence/Parsers.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Precedence/Parsers.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Precedence/Parsers.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [ 7 of 18] Compiling Parsley.Register.Parsers ( test/Parsley/Register/Parsers.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Register/Parsers.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Register/Parsers.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [ 8 of 18] Compiling Parsley.Selective.Parsers ( test/Parsley/Selective/Parsers.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Selective/Parsers.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Selective/Parsers.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [ 9 of 18] Compiling TestUtils ( test/TestUtils.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/TestUtils.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/TestUtils.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [10 of 18] Compiling Parsley.Selective.Test ( test/Parsley/Selective/Test.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Selective/Test.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Selective/Test.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [11 of 18] Compiling Parsley.Register.Test ( test/Parsley/Register/Test.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Register/Test.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Register/Test.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [12 of 18] Compiling Parsley.Precedence.Test ( test/Parsley/Precedence/Test.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Precedence/Test.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Precedence/Test.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [13 of 18] Compiling Parsley.Fold.Test ( test/Parsley/Fold/Test.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Fold/Test.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Fold/Test.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [14 of 18] Compiling Parsley.Combinator.Test ( test/Parsley/Combinator/Test.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Combinator/Test.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Combinator/Test.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [15 of 18] Compiling Parsley.Char.Test ( test/Parsley/Char/Test.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Char/Test.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Char/Test.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [16 of 18] Compiling Parsley.Applicative.Test ( test/Parsley/Applicative/Test.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Applicative/Test.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Applicative/Test.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [17 of 18] Compiling Parsley.Alternative.Test ( test/Parsley/Alternative/Test.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Alternative/Test.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Parsley/Alternative/Test.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [18 of 18] Compiling Main ( test/Parsley/Tests.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Main.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test-tmp/Main.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C Linking /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/parsley-test/parsley-test ... Preprocessing test suite 'regression-test' for parsley-2.0.0.1.. Building test suite 'regression-test' for parsley-2.0.0.1.. [1 of 3] Compiling Regression.Parsers ( test/Regression/Parsers.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/regression-test/regression-test-tmp/Regression/Parsers.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/regression-test/regression-test-tmp/Regression/Parsers.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [2 of 3] Compiling TestUtils ( test/TestUtils.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/regression-test/regression-test-tmp/TestUtils.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/regression-test/regression-test-tmp/TestUtils.dyn_o ) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [3 of 3] Compiling Main ( test/Regression/Tests.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/regression-test/regression-test-tmp/Main.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/regression-test/regression-test-tmp/Main.dyn_o ) COMPILING NEW PARSER WITH 0 LET BINDINGS EVALUATING TOP LEVEL eliding Ret eliding (Commit Ret) GENERATING TOP LEVEL: try (make Ã0 (pure False) ((try (((((satisfy (== 'a') [cut point] *> satisfy (== 'b')) *> satisfy (== 'c')) *> get Ã0) <|> ((put Ã0 (pure True) *> satisfy const True) *> get Ã0))) [cut point] <|> get Ã0))) MACHINE: [] => (Catch (Push False (Make Ã0 Hard (Catch (Catch (Catch [Add Coins {willConsume = 1, willCache = 1, knownPreds = Just (== 'a')} coins] (Sat (== 'a') [Add Coins {willConsume = 2, willCache = 2, knownPreds = Just (== 'b')} coins] (Pop (Sat (== 'b') (Pop (Sat (== 'c') (Pop (Get Ã0 Hard (Commit (Commit Ret))))))))) (Dup (Tell (Lift2 same (If (Push True (Put Ã0 Hard (Push x (Pop (Sat const True (Pop (Get Ã0 Hard (Commit Ret)))))))) Empt))))) (Seek Empt)) (Dup (Tell (Lift2 same (If (Get Ã0 Hard Ret) Empt))))))) (Seek Empt)) COMPILING NEW PARSER WITH 0 LET BINDINGS EVALUATING TOP LEVEL eliding Ret eliding Ret GENERATING TOP LEVEL: try (make Ã1 (pure False) ((try (((((satisfy (== 'a') [cut point] *> satisfy (== 'b')) *> satisfy (== 'c')) *> get Ã1) <|> (put Ã1 (pure True) *> get Ã1))) <|> get Ã1))) MACHINE: [] => (Catch (Push False (Make Ã1 Hard (Catch (Catch [Add Coins {willConsume = 1, willCache = 1, knownPreds = Just (== 'a')} coins] (Sat (== 'a') [Add Coins {willConsume = 2, willCache = 2, knownPreds = Just (== 'b')} coins] (Pop (Sat (== 'b') (Pop (Sat (== 'c') (Pop (Get Ã1 Hard Ret))))))) (Dup (Tell (Lift2 same (If (Push True (Put Ã1 Hard (Push x (Pop (Get Ã1 Hard Ret))))) Empt))))) (Seek (Get Ã1 Hard Ret))))) (Seek Empt)) COMPILING NEW PARSER WITH 0 LET BINDINGS EVALUATING TOP LEVEL GENERATING TOP LEVEL: (try ((((try (((satisfy (== '1') *> satisfy (== '2')) *> satisfy (== '3'))) *> pure (((:) '1') (((:) '2') (((:) '3') [])))) <|> (try ((satisfy (== '4') *> satisfy (== '5'))) *> pure (((:) '4') (((:) '5') [])))) *> try (((satisfy (== 'a') *> satisfy (== 'b')) *> satisfy (== 'c'))))) [cut point] *> pure ()) MACHINE: [] => [Add Coins {willConsume = 5, willCache = 2, knownPreds = Just const True} coins] (Catch (let Æ0 = [Bursary of 3 coins] (Pop (Catch (Sat (== 'a') (Pop (Sat (== 'b') (Pop (Sat (== 'c') (Commit (Commit (Pop (Push x Ret))))))))) (Seek Empt))) in (Catch [Add Coins {willConsume = 6, willCache = 3, knownPreds = Just (== '1')} coins] (Sat (== '1') (Pop (Sat (== '2') (Pop (Sat (== '3') (Commit (Pop (Push ((x x) ((x x) ((x x) x))) [Using 3 coins] Æ0)))))))) (Seek [Add Coins {willConsume = 5, willCache = 2, knownPreds = Just (== '4')} coins] (Catch (Sat (== '4') (Pop (Sat (== '5') (Commit (Pop (Push ((x x) ((x x) x)) [Using 3 coins] Æ0)))))) (Seek Empt))))) (Seek Empt)) COMPILING NEW PARSER WITH 0 LET BINDINGS EVALUATING TOP LEVEL eliding (Commit Ret) eliding (Commit Ret) GENERATING TOP LEVEL: try (((satisfy (== 'a') *> pure (((:) 'a') [])) <|> ((((((satisfy (== 'u') *> satisfy (== 'x')) *> satisfy (== 'y')) *> loop ((satisfy (== 'a') [cut point] *> pure ())) (pure ())) *> satisfy (== 'z')) *> pure (((:) 'z') [])) <|> (satisfy (== 'b') *> pure (((:) 'b') []))))) [cut point] MACHINE: [] => [Add Coins {willConsume = 1, willCache = 1, knownPreds = Just const True} coins] (Catch (Catch [Add Coins {willConsume = 1, willCache = 1, knownPreds = Just (== 'a')} coins] (Sat (== 'a') (Pop (Push ((x x) x) (Commit (Commit Ret))))) (Dup (Tell (Lift2 same (If [Add Coins {willConsume = 1, willCache = 1, knownPreds = Just const True} coins] (Catch [Add Coins {willConsume = 3, willCache = 3, knownPreds = Just (== 'u')} coins] (Sat (== 'u') (Pop (Sat (== 'x') (Pop (Sat (== 'y') (Pop {Iter ¼1 [Add Coins {willConsume = 1, willCache = 1, knownPreds = Just (== 'a')} coins] (Sat (== 'a') (Pop (Push x (Pop (Call ¼1 Ret))))) (Dup (Tell (Lift2 same (If [Add Coins {willConsume = 1, willCache = 1, knownPreds = Just (== 'z')} coins] (Push x (Pop (Sat (== 'z') (Pop (Push ((x x) x) (Commit (Commit Ret))))))) Empt))))})))))) (Dup (Tell (Lift2 same (If [Add Coins {willConsume = 1, willCache = 1, knownPreds = Just (== 'b')} coins] (Sat (== 'b') (Pop (Push ((x x) x) (Commit Ret)))) Empt))))) Empt))))) (Seek Empt)) I have a piggy :) COMPILING NEW PARSER WITH 0 LET BINDINGS EVALUATING TOP LEVEL eliding (Pop (Get Ã2 Hard Ret)) GENERATING TOP LEVEL: try (make Ã2 (pure False) ((((try (((satisfy (== 'a') *> put Ã2 (pure True)) *> satisfy (== 'b'))) [cut point] *> pure ()) <|> pure ()) *> get Ã2))) MACHINE: [] => (Catch (Push False (Make Ã2 Hard (Catch [Add Coins {willConsume = 1, willCache = 1, knownPreds = Just (== 'a')} coins] (Catch (Sat (== 'a') (Pop (Push True (Put Ã2 Hard (Push x (Pop (Sat (== 'b') (Commit (Pop (Push x (Commit (Pop (Get Ã2 Hard Ret))))))))))))) (Seek Empt)) (Dup (Tell (Lift2 same (If (Push x (Pop (Get Ã2 Hard Ret))) Empt))))))) (Seek Empt)) COMPILING NEW PARSER WITH 0 LET BINDINGS EVALUATING TOP LEVEL GENERATING TOP LEVEL: (try ((((try (((satisfy (== '1') *> satisfy (== '2')) *> satisfy (== '3'))) [cut point] *> pure (((:) '1') (((:) '2') (((:) '3') [])))) <|> try (pure [])) *> try (((satisfy (== 'a') *> satisfy (== 'b')) *> satisfy (== 'c'))))) [cut point] *> pure ()) MACHINE: [] => [Add Coins {willConsume = 3, willCache = 0, knownPreds = Nothing} coins] (Catch (let Æ0 = [Bursary of 3 coins] (Pop (Catch (Sat (== 'a') (Pop (Sat (== 'b') (Pop (Sat (== 'c') (Commit (Commit (Pop (Push x Ret))))))))) (Seek Empt))) in (Catch [Add Coins {willConsume = 3, willCache = 3, knownPreds = Just (== '1')} coins] (Catch (Sat (== '1') (Pop (Sat (== '2') (Pop (Sat (== '3') (Commit [Add Coins {willConsume = 3, willCache = 0, knownPreds = Nothing} coins] (Pop (Push ((x x) ((x x) ((x x) x))) (Commit [Using 3 coins] Æ0))))))))) (Seek Empt)) (Dup (Tell (Lift2 same (If [Add Coins {willConsume = 3, willCache = 0, knownPreds = Nothing} coins] (Catch (Push x (Commit [Using 3 coins] Æ0)) (Seek Empt)) Empt)))))) (Seek Empt)) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [1 of 3] Compiling Regression.Parsers ( test/Regression/Parsers.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/regression-test/regression-test-tmp/Regression/Parsers.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/regression-test/regression-test-tmp/Regression/Parsers.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [2 of 3] Compiling TestUtils ( test/TestUtils.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/regression-test/regression-test-tmp/TestUtils.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/regression-test/regression-test-tmp/TestUtils.dyn_o ) [HPC flags changed] cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C [3 of 3] Compiling Main ( test/Regression/Tests.hs, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/regression-test/regression-test-tmp/Main.o, /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/regression-test/regression-test-tmp/Main.dyn_o ) [HPC flags changed] COMPILING NEW PARSER WITH 0 LET BINDINGS EVALUATING TOP LEVEL eliding Ret eliding (Commit Ret) GENERATING TOP LEVEL: try (make Ã0 (pure False) ((try (((((satisfy (== 'a') [cut point] *> satisfy (== 'b')) *> satisfy (== 'c')) *> get Ã0) <|> ((put Ã0 (pure True) *> satisfy const True) *> get Ã0))) [cut point] <|> get Ã0))) MACHINE: [] => (Catch (Push False (Make Ã0 Hard (Catch (Catch (Catch [Add Coins {willConsume = 1, willCache = 1, knownPreds = Just (== 'a')} coins] (Sat (== 'a') [Add Coins {willConsume = 2, willCache = 2, knownPreds = Just (== 'b')} coins] (Pop (Sat (== 'b') (Pop (Sat (== 'c') (Pop (Get Ã0 Hard (Commit (Commit Ret))))))))) (Dup (Tell (Lift2 same (If (Push True (Put Ã0 Hard (Push x (Pop (Sat const True (Pop (Get Ã0 Hard (Commit Ret)))))))) Empt))))) (Seek Empt)) (Dup (Tell (Lift2 same (If (Get Ã0 Hard Ret) Empt))))))) (Seek Empt)) COMPILING NEW PARSER WITH 0 LET BINDINGS EVALUATING TOP LEVEL eliding Ret eliding Ret GENERATING TOP LEVEL: try (make Ã1 (pure False) ((try (((((satisfy (== 'a') [cut point] *> satisfy (== 'b')) *> satisfy (== 'c')) *> get Ã1) <|> (put Ã1 (pure True) *> get Ã1))) <|> get Ã1))) MACHINE: [] => (Catch (Push False (Make Ã1 Hard (Catch (Catch [Add Coins {willConsume = 1, willCache = 1, knownPreds = Just (== 'a')} coins] (Sat (== 'a') [Add Coins {willConsume = 2, willCache = 2, knownPreds = Just (== 'b')} coins] (Pop (Sat (== 'b') (Pop (Sat (== 'c') (Pop (Get Ã1 Hard Ret))))))) (Dup (Tell (Lift2 same (If (Push True (Put Ã1 Hard (Push x (Pop (Get Ã1 Hard Ret))))) Empt))))) (Seek (Get Ã1 Hard Ret))))) (Seek Empt)) COMPILING NEW PARSER WITH 0 LET BINDINGS EVALUATING TOP LEVEL GENERATING TOP LEVEL: (try ((((try (((satisfy (== '1') *> satisfy (== '2')) *> satisfy (== '3'))) *> pure (((:) '1') (((:) '2') (((:) '3') [])))) <|> (try ((satisfy (== '4') *> satisfy (== '5'))) *> pure (((:) '4') (((:) '5') [])))) *> try (((satisfy (== 'a') *> satisfy (== 'b')) *> satisfy (== 'c'))))) [cut point] *> pure ()) MACHINE: [] => [Add Coins {willConsume = 5, willCache = 2, knownPreds = Just const True} coins] (Catch (let Æ0 = [Bursary of 3 coins] (Pop (Catch (Sat (== 'a') (Pop (Sat (== 'b') (Pop (Sat (== 'c') (Commit (Commit (Pop (Push x Ret))))))))) (Seek Empt))) in (Catch [Add Coins {willConsume = 6, willCache = 3, knownPreds = Just (== '1')} coins] (Sat (== '1') (Pop (Sat (== '2') (Pop (Sat (== '3') (Commit (Pop (Push ((x x) ((x x) ((x x) x))) [Using 3 coins] Æ0)))))))) (Seek [Add Coins {willConsume = 5, willCache = 2, knownPreds = Just (== '4')} coins] (Catch (Sat (== '4') (Pop (Sat (== '5') (Commit (Pop (Push ((x x) ((x x) x)) [Using 3 coins] Æ0)))))) (Seek Empt))))) (Seek Empt)) COMPILING NEW PARSER WITH 0 LET BINDINGS EVALUATING TOP LEVEL eliding (Commit Ret) eliding (Commit Ret) GENERATING TOP LEVEL: try (((satisfy (== 'a') *> pure (((:) 'a') [])) <|> ((((((satisfy (== 'u') *> satisfy (== 'x')) *> satisfy (== 'y')) *> loop ((satisfy (== 'a') [cut point] *> pure ())) (pure ())) *> satisfy (== 'z')) *> pure (((:) 'z') [])) <|> (satisfy (== 'b') *> pure (((:) 'b') []))))) [cut point] MACHINE: [] => [Add Coins {willConsume = 1, willCache = 1, knownPreds = Just const True} coins] (Catch (Catch [Add Coins {willConsume = 1, willCache = 1, knownPreds = Just (== 'a')} coins] (Sat (== 'a') (Pop (Push ((x x) x) (Commit (Commit Ret))))) (Dup (Tell (Lift2 same (If [Add Coins {willConsume = 1, willCache = 1, knownPreds = Just const True} coins] (Catch [Add Coins {willConsume = 3, willCache = 3, knownPreds = Just (== 'u')} coins] (Sat (== 'u') (Pop (Sat (== 'x') (Pop (Sat (== 'y') (Pop {Iter ¼1 [Add Coins {willConsume = 1, willCache = 1, knownPreds = Just (== 'a')} coins] (Sat (== 'a') (Pop (Push x (Pop (Call ¼1 Ret))))) (Dup (Tell (Lift2 same (If [Add Coins {willConsume = 1, willCache = 1, knownPreds = Just (== 'z')} coins] (Push x (Pop (Sat (== 'z') (Pop (Push ((x x) x) (Commit (Commit Ret))))))) Empt))))})))))) (Dup (Tell (Lift2 same (If [Add Coins {willConsume = 1, willCache = 1, knownPreds = Just (== 'b')} coins] (Sat (== 'b') (Pop (Push ((x x) x) (Commit Ret)))) Empt))))) Empt))))) (Seek Empt)) I have a piggy :) COMPILING NEW PARSER WITH 0 LET BINDINGS EVALUATING TOP LEVEL eliding (Pop (Get Ã2 Hard Ret)) GENERATING TOP LEVEL: try (make Ã2 (pure False) ((((try (((satisfy (== 'a') *> put Ã2 (pure True)) *> satisfy (== 'b'))) [cut point] *> pure ()) <|> pure ()) *> get Ã2))) MACHINE: [] => (Catch (Push False (Make Ã2 Hard (Catch [Add Coins {willConsume = 1, willCache = 1, knownPreds = Just (== 'a')} coins] (Catch (Sat (== 'a') (Pop (Push True (Put Ã2 Hard (Push x (Pop (Sat (== 'b') (Commit (Pop (Push x (Commit (Pop (Get Ã2 Hard Ret))))))))))))) (Seek Empt)) (Dup (Tell (Lift2 same (If (Push x (Pop (Get Ã2 Hard Ret))) Empt))))))) (Seek Empt)) COMPILING NEW PARSER WITH 0 LET BINDINGS EVALUATING TOP LEVEL GENERATING TOP LEVEL: (try ((((try (((satisfy (== '1') *> satisfy (== '2')) *> satisfy (== '3'))) [cut point] *> pure (((:) '1') (((:) '2') (((:) '3') [])))) <|> try (pure [])) *> try (((satisfy (== 'a') *> satisfy (== 'b')) *> satisfy (== 'c'))))) [cut point] *> pure ()) MACHINE: [] => [Add Coins {willConsume = 3, willCache = 0, knownPreds = Nothing} coins] (Catch (let Æ0 = [Bursary of 3 coins] (Pop (Catch (Sat (== 'a') (Pop (Sat (== 'b') (Pop (Sat (== 'c') (Commit (Commit (Pop (Push x Ret))))))))) (Seek Empt))) in (Catch [Add Coins {willConsume = 3, willCache = 3, knownPreds = Just (== '1')} coins] (Catch (Sat (== '1') (Pop (Sat (== '2') (Pop (Sat (== '3') (Commit [Add Coins {willConsume = 3, willCache = 0, knownPreds = Nothing} coins] (Pop (Push ((x x) ((x x) ((x x) x))) (Commit [Using 3 coins] Æ0))))))))) (Seek Empt)) (Dup (Tell (Lift2 same (If [Add Coins {willConsume = 3, willCache = 0, knownPreds = Nothing} coins] (Catch (Push x (Commit [Using 3 coins] Æ0)) (Seek Empt)) Empt)))))) (Seek Empt)) cc1: warning: command-line option --cpp is valid for Modula-2 but not for C cc1: warning: command-line option --cpp is valid for Modula-2 but not for C Linking /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/build/regression-test/regression-test ... Running 2 test suites... Test suite parsley-test: RUNNING... Test suite parsley-test: PASS Test suite logged to: /home/builder/builder-dir/build-cache/tmp-install/reports/parsley-2.0.0.1.test Writing: parsley-2.0.0.1-inplace/Parsley.Selective.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.ParserOps.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Precedence.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Fold.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Register.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Combinator.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Char.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Alternative.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Applicative.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.hs.html Writing: hpc_index.html Writing: hpc_index_fun.html Writing: hpc_index_alt.html Writing: hpc_index_exp.html Test coverage report written to /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/hpc/vanilla/html/parsley-test/hpc_index.html Test suite regression-test: RUNNING... Test suite regression-test: PASS Test suite logged to: /home/builder/builder-dir/build-cache/tmp-install/reports/parsley-2.0.0.1.test Writing: parsley-2.0.0.1-inplace/Parsley.Selective.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.ParserOps.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Register.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Combinator.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Char.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Alternative.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Applicative.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.hs.html Writing: hpc_index.html Writing: hpc_index_fun.html Writing: hpc_index_alt.html Writing: hpc_index_exp.html Test coverage report written to /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/hpc/vanilla/html/regression-test/hpc_index.html 2 of 2 test suites (2 of 2 test cases) passed. Writing: parsley-2.0.0.1-inplace/Parsley.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Alternative.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Applicative.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Char.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Combinator.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Fold.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.ParserOps.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Precedence.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Register.hs.html Writing: parsley-2.0.0.1-inplace/Parsley.Selective.hs.html Writing: hpc_index.html Writing: hpc_index_fun.html Writing: hpc_index_alt.html Writing: hpc_index_exp.html Package coverage report written to /home/builder/builder-dir/build-cache/tmp-install/dist-newstyle/build/x86_64-linux/ghc-9.2.4/parsley-2.0.0.1/noopt/hpc/vanilla/html/parsley-2.0.0.1/hpc_index.html