Infinite loop in ghci (only) with the Strict pragma
Summary
The attached simple program, which uses the Strict pragma, loops infinitely in GHCi but works when compiled (with any of the optimization flags -O0, -O1, -O2). It also works in GHCi without the Strict pragma.
Steps to reproduce
Execute the attached haskell source file with ghci or runghc
Expected behavior
I would expect GHCi and the compiled version to behave the same.
In particular, I expect the behaviour experienced when the program is compiled, that is, it finishes and prints the string ParseOk "xyz" ""
Source code
Environment
- GHC version used: tried with 8.6.5 and 8.10.2, both behaves the same way.
- Operating System: MacOS
- System Architecture: x86-64