
I can't reproduce this:
{{{ GHCi, version 8.6.3: http://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from /home/omer/rcbackup/.ghci λ:1> let x = [True, False] λ:2> :sprint x x = [True,False] }}}
With 8.4.4:
{{{ GHCi, version 8.4.4: http://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from /home/omer/rcbackup/.ghci λ:1> let x = [True, False] λ:2> :sprint x x = [True,False] }}}
With 8.2.2:
{{{ GHCi, version 8.2.2: http://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from /home/omer/rcbackup/.ghci λ:1> let x = [True, False] λ:2> :sprint x x = [True,False] }}}
However if I use a list that is not completely static then I can see
#16089: seq is not cooperating with :sprint in GHCi as expected -------------------------------------+------------------------------------- Reporter: radrow | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: GHCi | Version: 8.6.3 Resolution: | Keywords: seq sprint | strictness Operating System: Linux | Architecture: Type of failure: Incorrect result | Unknown/Multiple at runtime | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by radrow): Replying to [comment:1 osa1]: that `:sprint` doesn't print the evaluated constructor:
{{{ GHCi, version 8.6.3: http://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from /home/omer/rcbackup/.ghci λ:1> let x = [1..] λ:2> :sprint x x = _ λ:3> x `seq` () () λ:4> :sprint x x = _ }}}
Even `:print` doesn't work as expected (I'd expect it to print something
like `x : y`):
{{{ λ:5> :print x x = (_t1::(Num a, Enum a) => [a]) }}}
Note that I am declaring `x` without `let` keyword. {{{ x = [True, False] }}} not {{{ let x = [True, False] }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16089#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler