Build profile: -w ghc-9.4.8 -O1 In order, the following will be built (use -v for more details): - haskell-language-server-2.7.0.0 (test:hls-eval-plugin-tests) (first run) Preprocessing test suite 'hls-eval-plugin-tests' for haskell-language-server-2.7.0.0.. Building test suite 'hls-eval-plugin-tests' for haskell-language-server-2.7.0.0.. Running 1 test suites... Test suite hls-eval-plugin-tests: RUNNING... eval T4139: ==================== Renamer ==================== interactive:Ghci1.evalPrint x_aI5 = writeFile "/var/folders/n7/cspl03gj18db1w0kqbv_9fn00000gn/T/extra-file-85698458842-88038-4" (show x_aI5) ==================== Desugar (before optimization) ==================== Result size of Desugar (before optimization) = {terms: 20, types: 17, coercions: 0, joins: 0/2} Rec { -- RHS size: {terms: 5, types: 0, coercions: 0, joins: 0/0} interactive:Ghci1.$trModule :: GHC.Types.Module [LclIdX] interactive:Ghci1.$trModule = GHC.Types.Module (GHC.Types.TrNameS "interactive"#) (GHC.Types.TrNameS "Ghci1"#) -- RHS size: {terms: 13, types: 10, coercions: 0, joins: 0/2} evalPrint :: forall {a}. Show a => a -> IO () [LclIdX] evalPrint = \ (@a_aQw) ($dShow_aQC :: Show a_aQw) -> let { $dShow_aQx :: Show a_aQw [LclId] $dShow_aQx = $dShow_aQC } in letrec { evalPrint_aQy :: a_aQw -> IO () [LclId] evalPrint_aQy = \ (x_aI5 :: a_aQw) -> writeFile (GHC.CString.unpackCString# "/var/folders/n7/cspl03gj18db1w0kqbv_9fn00000gn/T/extra-file-85698458842-88038-4"#) (show @a_aQw $dShow_aQx x_aI5); } in evalPrint_aQy end Rec } ==================== Desugar (after optimization) ==================== Result size of Desugar (after optimization) = {terms: 16, types: 12, coercions: 0, joins: 0/0} -- RHS size: {terms: 9, types: 5, coercions: 0, joins: 0/0} evalPrint :: forall {a}. Show a => a -> IO () [LclIdX, Unf=Unf{Src=, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [30 0] 290 0}] evalPrint = \ (@a_aQw) ($dShow_aQC :: Show a_aQw) (x_aI5 :: a_aQw) -> writeFile (GHC.CString.unpackCString# "/var/folders/n7/cspl03gj18db1w0kqbv_9fn00000gn/T/extra-file-85698458842-88038-4"#) (show @a_aQw $dShow_aQC x_aI5) -- RHS size: {terms: 5, types: 0, coercions: 0, joins: 0/0} interactive:Ghci1.$trModule :: GHC.Types.Module [LclIdX, Unf=Unf{Src=, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 10}] interactive:Ghci1.$trModule = GHC.Types.Module (GHC.Types.TrNameS "interactive"#) (GHC.Types.TrNameS "Ghci1"#) Bound Ids interactive:Ghci2.it Typechecked expr do let it_aR7 = 'x' evalPrint it_aR7 GHC.Base.returnIO [Unsafe.Coerce.unsafeCoerce# it_aR7] ==================== Desugared ==================== let { $dShow_aVa :: GHC.Show.Show GHC.Types.Char [LclId] $dShow_aVa = GHC.Show.$fShowChar } in letrec { it_aR7 :: GHC.Types.Char [LclId] it_aR7 = letrec { it_aV3 :: GHC.Types.Char [LclId] it_aV3 = GHC.Types.C# 'x'#; } in it_aV3; } in GHC.Base.thenIO @() @[()] (Ghci1.evalPrint @GHC.Types.Char $dShow_aVa it_aR7) (GHC.Base.returnIO @[()] (GHC.Types.: @() (Unsafe.Coerce.unsafeCoerce# @GHC.Types.LiftedRep @GHC.Types.LiftedRep @GHC.Types.Char @() it_aR7) (GHC.Types.[] @()))) OK (0.64s) All 1 tests passed (0.64s) Test suite hls-eval-plugin-tests: PASS Test suite logged to: /Users/peter/Developer/personal/haskell-language-server/dist-newstyle/build/aarch64-osx/ghc-9.4.8/haskell-language-server-2.7.0.0/t/hls-eval-plugin-tests/test/haskell-language-server-2.7.0.0-hls-eval-plugin-tests.log 1 of 1 test suites (1 of 1 test cases) passed.