GHC issueshttps://gitlab.haskell.org/ghc/ghc/-/issues2019-07-07T18:28:47Zhttps://gitlab.haskell.org/ghc/ghc/-/issues/11746I encountered an: internal error: evacuate: strange closure type 8036450002019-07-07T18:28:47ZhkBstI encountered an: internal error: evacuate: strange closure type 803645000I encountered an: internal error: evacuate: strange closure type 803645000 after loading and running the attached code under GHCi.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ------------------...I encountered an: internal error: evacuate: strange closure type 803645000 after loading and running the attached code under GHCi.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.10.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"I encountered an: internal error: evacuate: strange closure type 803645000","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.10.3","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"I encountered an: internal error: evacuate: strange closure type 803645000 after loading and running the attached code under GHCi.","type_of_failure":"OtherFailure","blocking":[]} -->8.0.1https://gitlab.haskell.org/ghc/ghc/-/issues/11639`:print` being wacky2019-07-07T18:29:21ZTheKing42`:print` being wacky```
$ ghci
GHCi, version 7.10.3: http://www.haskell.org/ghc/ :? for help
Prelude> let x = 1:x
Prelude> :print x
x = (_t1::Num a => [a])
Prelude> head _t1
ghc: panic! (the 'impossible' happened)
(GHC version 7.10.3 for x86_64-unknown-l...```
$ ghci
GHCi, version 7.10.3: http://www.haskell.org/ghc/ :? for help
Prelude> let x = 1:x
Prelude> :print x
x = (_t1::Num a => [a])
Prelude> head _t1
ghc: panic! (the 'impossible' happened)
(GHC version 7.10.3 for x86_64-unknown-linux):
tcTyVarDetails a_avB
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.10.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"`:print` being wacky","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.10.3","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"\r\n{{{\r\n$ ghci\r\nGHCi, version 7.10.3: http://www.haskell.org/ghc/ :? for help\r\nPrelude> let x = 1:x\r\nPrelude> :print x\r\nx = (_t1::Num a => [a])\r\nPrelude> head _t1\r\nghc: panic! (the 'impossible' happened)\r\n (GHC version 7.10.3 for x86_64-unknown-linux):\r\n tcTyVarDetails a_avB\r\n\r\nPlease report this as a GHC bug: http://www.haskell.org/ghc/reportabug\r\n}}}\r\n","type_of_failure":"OtherFailure","blocking":[]} -->8.0.1https://gitlab.haskell.org/ghc/ghc/-/issues/11481New GHCi command `:load!` doesn't defer typed holes2019-07-07T18:30:14ZThomas MiedemaNew GHCi command `:load!` doesn't defer typed holesTest.hs:
```hs
f :: Int
f = _
main = print f
```
```
$ ghc-8.0.1 --interactive
GHCi, version 8.0.0.20160111: http://www.haskell.org/ghc/ :? for help
Prelude> :load! Test.hs
[1 of 1] Compiling Main ( Test.hs, interpreted )...Test.hs:
```hs
f :: Int
f = _
main = print f
```
```
$ ghc-8.0.1 --interactive
GHCi, version 8.0.0.20160111: http://www.haskell.org/ghc/ :? for help
Prelude> :load! Test.hs
[1 of 1] Compiling Main ( Test.hs, interpreted )
Test.hs:2:5: error:
• Found hole: _ :: Int
• In the expression: _
In an equation for ‘f’: f = _
• Relevant bindings include f :: Int (bound at Test.hs:2:1)
Failed, modules loaded: none.
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.10.3 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | triple |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"New GHCi command `:load!` doesn't defer typed holes","status":"New","operating_system":"","component":"GHCi","related":[],"milestone":"8.0.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.10.3","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":["triple"],"type":"Bug","description":"Test.hs:\r\n{{{#!hs\r\nf :: Int\r\nf = _\r\n\r\nmain = print f\r\n}}}\r\n\r\n{{{\r\n$ ghc-8.0.1 --interactive\r\nGHCi, version 8.0.0.20160111: http://www.haskell.org/ghc/ :? for help\r\nPrelude> :load! Test.hs\r\n[1 of 1] Compiling Main ( Test.hs, interpreted )\r\n\r\nTest.hs:2:5: error:\r\n • Found hole: _ :: Int\r\n • In the expression: _\r\n In an equation for ‘f’: f = _\r\n • Relevant bindings include f :: Int (bound at Test.hs:2:1)\r\nFailed, modules loaded: none.\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->8.0.1tripletriplehttps://gitlab.haskell.org/ghc/ghc/-/issues/11456Type application and :set +c command cause panic2019-07-07T18:30:20ZIcelandjackType application and :set +c command cause panicType applications and the [:set +c](https://downloads.haskell.org/~ghc/master/users-guide/ghci.html#ghci-cmd-:set%20+c) command don't play nice
```hs
{-# LANGUAGE TypeApplications #-}
a = show @Int
```
```
% ghci -ignore-dot-ghci
GHCi...Type applications and the [:set +c](https://downloads.haskell.org/~ghc/master/users-guide/ghci.html#ghci-cmd-:set%20+c) command don't play nice
```hs
{-# LANGUAGE TypeApplications #-}
a = show @Int
```
```
% ghci -ignore-dot-ghci
GHCi, version 8.1.20160117: http://www.haskell.org/ghc/ :? for help
Prelude> :set +c
Prelude> :load Panic.hs
[1 of 1] Compiling Main ( Panic.hs, interpreted )
Ok, modules loaded: Main.
Collecting type info for 1 module(s) ...
Error while getting type info from Main: ghc: panic! (the 'impossible' happened)
(GHC version 8.1.20160117 for x86_64-unknown-linux):
dsExpr:HsTypeOut
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
*Main>
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 8.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Type application and :set +c command cause panic","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"8.1","keywords":["GHCi","TypeApplications"],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Type applications and the [https://downloads.haskell.org/~ghc/master/users-guide/ghci.html#ghci-cmd-:set%20+c :set +c] command don't play nice\r\n\r\n{{{#!hs\r\n{-# LANGUAGE TypeApplications #-}\r\na = show @Int\r\n}}}\r\n\r\n{{{\r\n% ghci -ignore-dot-ghci \r\nGHCi, version 8.1.20160117: http://www.haskell.org/ghc/ :? for help\r\nPrelude> :set +c\r\nPrelude> :load Panic.hs \r\n[1 of 1] Compiling Main ( Panic.hs, interpreted )\r\nOk, modules loaded: Main.\r\nCollecting type info for 1 module(s) ... \r\nError while getting type info from Main: ghc: panic! (the 'impossible' happened)\r\n (GHC version 8.1.20160117 for x86_64-unknown-linux):\r\n dsExpr:HsTypeOut\r\n\r\nPlease report this as a GHC bug: http://www.haskell.org/ghc/reportabug\r\n\r\n*Main>\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->8.0.1https://gitlab.haskell.org/ghc/ghc/-/issues/11389Print a message when loading a .ghci file2019-07-07T18:30:38ZrwbartonPrint a message when loading a .ghci fileIt'd be nice to have a notice displayed when ghci loads a .ghci file, something like
```
rwbarton@morphism:~$ ghci-7.10.1
GHCi, version 7.10.1: http://www.haskell.org/ghc/ :? for help
Loaded GHCi configuration from /home/rwbarton/.ghci...It'd be nice to have a notice displayed when ghci loads a .ghci file, something like
```
rwbarton@morphism:~$ ghci-7.10.1
GHCi, version 7.10.1: http://www.haskell.org/ghc/ :? for help
Loaded GHCi configuration from /home/rwbarton/.ghci
Prelude>
```
I want this mostly so that we can tell whether people filing ghci bugs might have anything relevant in their `.ghci` files.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.8.4 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Print a message when loading a .ghci file","status":"New","operating_system":"","component":"GHCi","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.8.4","keywords":["newcomer"],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"FeatureRequest","description":"It'd be nice to have a notice displayed when ghci loads a .ghci file, something like\r\n{{{\r\nrwbarton@morphism:~$ ghci-7.10.1\r\nGHCi, version 7.10.1: http://www.haskell.org/ghc/ :? for help\r\nLoaded GHCi configuration from /home/rwbarton/.ghci\r\nPrelude> \r\n}}}\r\nI want this mostly so that we can tell whether people filing ghci bugs might have anything relevant in their `.ghci` files.","type_of_failure":"OtherFailure","blocking":[]} -->8.0.1kseokseohttps://gitlab.haskell.org/ghc/ghc/-/issues/11328Auto complete in ghci shows $sel:function:Type for DuplicateRecordFields fields2019-07-07T18:30:54Zkolmodin@dtek.chalmers.seAuto complete in ghci shows $sel:function:Type for DuplicateRecordFields fieldsGiven a haskell file;
```hs
{-# LANGUAGE DuplicateRecordFields #-}
-- t.hs
data A = A { name :: String }
data B = B { name :: String }
```
and in GHCi;
```
ghci t.hs
GHCi, version 8.1.20151231: http://www.haskell.org/ghc/ :? for hel...Given a haskell file;
```hs
{-# LANGUAGE DuplicateRecordFields #-}
-- t.hs
data A = A { name :: String }
data B = B { name :: String }
```
and in GHCi;
```
ghci t.hs
GHCi, version 8.1.20151231: http://www.haskell.org/ghc/ :? for help
[1 of 1] Compiling Main ( tnum.hs, interpreted )
Ok, modules loaded: Main.
*Main> <TAB> <TAB>
...
$sel:name:A
$sel:name:B
...
```
The records show up as `$sel:function:Type`, a function which you cannot refer to by name.
Even if you enable `OverloadedLabels`, the `#labels` don't show up in the auto completion.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 8.0.1-rc1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Auto complete in ghci shows $sel:function:Type for DuplicateRecordFields fields","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"8.0.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"8.0.1-rc1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"\r\nGiven a haskell file;\r\n\r\n{{{#!hs\r\n{-# LANGUAGE DuplicateRecordFields #-}\r\n-- t.hs\r\n\r\ndata A = A { name :: String }\r\ndata B = B { name :: String }\r\n}}}\r\n\r\nand in GHCi;\r\n\r\n{{{\r\nghci t.hs\r\nGHCi, version 8.1.20151231: http://www.haskell.org/ghc/ :? for help\r\n[1 of 1] Compiling Main ( tnum.hs, interpreted )\r\nOk, modules loaded: Main.\r\n*Main> <TAB> <TAB>\r\n...\r\n$sel:name:A\r\n$sel:name:B\r\n...\r\n\r\n}}}\r\n\r\nThe records show up as `$sel:function:Type`, a function which you cannot refer to by name.\r\n\r\nEven if you enable `OverloadedLabels`, the `#labels` don't show up in the auto completion.","type_of_failure":"OtherFailure","blocking":[]} -->8.0.1Adam GundryAdam Gundryhttps://gitlab.haskell.org/ghc/ghc/-/issues/11266Can't :browse some modules with GHCi 7.112019-07-07T18:31:12ZRyan ScottCan't :browse some modules with GHCi 7.11Trying to `:browse` certain modules with GHCi fails with GHC 7.11:
```
$ inplace/bin/ghc-stage2 --interactive
GHCi, version 7.11.20151219: http://www.haskell.org/ghc/ :? for help
λ> :browse GHC.Base
($) ::
forall (w :: GHC.Types.Levi...Trying to `:browse` certain modules with GHCi fails with GHC 7.11:
```
$ inplace/bin/ghc-stage2 --interactive
GHCi, version 7.11.20151219: http://www.haskell.org/ghc/ :? for help
λ> :browse GHC.Base
($) ::
forall (w :: GHC.Types.Levity) a (b :: TYPE w). (a -> b) -> a -> b
($!) :: (a -> b) -> a -> b
<lots of output elided>
data Ordering*** Exception: No match in record selector tyConTyVars
λ> :browse GHC.Exts
class GHC.Exts.IsList l where
type family GHC.Exts.Item l
Kind: * -> *
GHC.Exts.fromList :: [GHC.Exts.Item l] -> l
GHC.Exts.fromListN :: Int -> [GHC.Exts.Item l] -> l
GHC.Exts.toList :: l -> [GHC.Exts.Item l]
{-# MINIMAL fromList, toList #-}
<lots of output elided>
data GHC.Prim.MutableByteArray# a*** Exception: No match in record selector tyConTyVars
λ> :browse GHC.Prim
*** Exception: No match in record selector tyConTyVars
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.11 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | high |
| Resolution | Unresolved |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Can't :browse some modules with GHCi 7.11","status":"New","operating_system":"","component":"GHCi","related":[],"milestone":"8.0.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.11","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Trying to `:browse` certain modules with GHCi fails with GHC 7.11:\r\n\r\n{{{\r\n$ inplace/bin/ghc-stage2 --interactive\r\nGHCi, version 7.11.20151219: http://www.haskell.org/ghc/ :? for help\r\nλ> :browse GHC.Base\r\n($) ::\r\n forall (w :: GHC.Types.Levity) a (b :: TYPE w). (a -> b) -> a -> b\r\n($!) :: (a -> b) -> a -> b\r\n<lots of output elided>\r\ndata Ordering*** Exception: No match in record selector tyConTyVars\r\nλ> :browse GHC.Exts\r\nclass GHC.Exts.IsList l where\r\n type family GHC.Exts.Item l\r\n Kind: * -> *\r\n GHC.Exts.fromList :: [GHC.Exts.Item l] -> l\r\n GHC.Exts.fromListN :: Int -> [GHC.Exts.Item l] -> l\r\n GHC.Exts.toList :: l -> [GHC.Exts.Item l]\r\n {-# MINIMAL fromList, toList #-}\r\n<lots of output elided>\r\ndata GHC.Prim.MutableByteArray# a*** Exception: No match in record selector tyConTyVars\r\nλ> :browse GHC.Prim\r\n*** Exception: No match in record selector tyConTyVars\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->8.0.1https://gitlab.haskell.org/ghc/ghc/-/issues/11252:kind command hides the explicit kind2019-07-07T18:31:15ZIcelandjack:kind command hides the explicit kind```hs
-- /tmp/test.hs
{-# LANGUAGE TypeInType #-}
data Proxy1 k (a :: k) = P1
data Proxy2 (a :: k) = P2
```
if I load the following into ghci (head) the `:kind` command gives the same result
```haskell
% ghci -ignore-dot-ghci /tmp/t...```hs
-- /tmp/test.hs
{-# LANGUAGE TypeInType #-}
data Proxy1 k (a :: k) = P1
data Proxy2 (a :: k) = P2
```
if I load the following into ghci (head) the `:kind` command gives the same result
```haskell
% ghci -ignore-dot-ghci /tmp/test.hs
GHCi, version 7.11.20151216: http://www.haskell.org/ghc/ :? for help
[1 of 1] Compiling Main ( test.hs, interpreted )
Ok, modules loaded: Main.
*Main> :kind Proxy1
Proxy1 :: k -> *
*Main> :kind Proxy2
Proxy2 :: k -> *
```
edit: I asked on \#ghc, was told this was undesirable8.0.1Richard Eisenbergrae@richarde.devRichard Eisenbergrae@richarde.devhttps://gitlab.haskell.org/ghc/ghc/-/issues/11242GHCi ignores -fno-warn-typed-holes2019-07-07T18:31:18ZEric CrockettGHCi ignores -fno-warn-typed-holesIf I load the following code in GHCi:
```
{-# LANGUAGE PartialTypeSignatures #-}
main = print $ f 3
f :: Int -> _
f = id
```
I get a warning about having a type hole. But when I load GHCi with `-fno-warn-typed-holes` (or set it with ...If I load the following code in GHCi:
```
{-# LANGUAGE PartialTypeSignatures #-}
main = print $ f 3
f :: Int -> _
f = id
```
I get a warning about having a type hole. But when I load GHCi with `-fno-warn-typed-holes` (or set it with `:set`) I still get the warning message.
It seems that GHC does respect the flag, i.e. `ghc Main -fno-warn-typed-holes` does not produce a warning, as expected.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.10.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"GHCi ignores -fno-warn-typed-holes","status":"New","operating_system":"","component":"GHCi","related":[],"milestone":"8.0.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.10.2","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"If I load the following code in GHCi:\r\n\r\n{{{\r\n{-# LANGUAGE PartialTypeSignatures #-}\r\n\r\nmain = print $ f 3\r\n\r\nf :: Int -> _\r\nf = id\r\n}}}\r\n\r\nI get a warning about having a type hole. But when I load GHCi with `-fno-warn-typed-holes` (or set it with `:set`) I still get the warning message.\r\n\r\nIt seems that GHC does respect the flag, i.e. `ghc Main -fno-warn-typed-holes` does not produce a warning, as expected.","type_of_failure":"OtherFailure","blocking":[]} -->8.0.1https://gitlab.haskell.org/ghc/ghc/-/issues/11234GHCi on Windows segfaults2019-07-07T18:31:21ZTamar ChristinaGHCi on Windows segfaultsGHCi on Windows has had a segfault for while now on `x86_64`. During the upgrade of `GCC` in [D1123](https://phabricator.haskell.org/D1123) I noticed that test `prog003` was failing with a segfault.
Currently the segfault exist in both ...GHCi on Windows has had a segfault for while now on `x86_64`. During the upgrade of `GCC` in [D1123](https://phabricator.haskell.org/D1123) I noticed that test `prog003` was failing with a segfault.
Currently the segfault exist in both versions but on `x86` it's particularly easy to trigger.
In my case I can't even start ghci.
```
$ inplace/bin/GHC-stage2.exe --interactive
GHCi, version 7.11.20151213: http://www.haskell.org/ghc/ :? for help
Segmentation fault/access violation in generated code
```
The segfault does not seem to happen when linked to the debug rts, and running with `+RTS -Ds -RTS` doesn't report anything special.
Compiling with `devel2` so the rts gets compiled with `-g` the stack trace is not very useful.
```
(gdb) run --interactive
Starting program: /home/Tamar/ghc/inplace/bin/ghc-stage2 --interactive
[New Thread 108480.0x1960c]
[New Thread 108480.0x19b2c]
[New Thread 108480.0x19c30]
[New Thread 108480.0x1a0a8]
[New Thread 108480.0x1a93c]
[New Thread 108480.0x13954]
[New Thread 108480.0x14440]
GHCi, version 7.11.20151213: http://www.haskell.org/ghc/ :? for help
Program received signal SIGSEGV, Segmentation fault.
0x06843aa5 in ?? ()
(gdb) bt
#0 0x06843aa5 in ?? ()
#1 0x04b82cfc in ?? ()
#2 0x8d078902 in ?? ()
#3 0xc689fd47 in ?? ()
#4 0xff04c583 in ?? ()
#5 0x83c70065 in ?? ()
#6 0x0000033c in ?? ()
#7 0x00000008 in ?? ()
#8 0x04e9c689 in ?? ()
Backtrace stopped: Cannot access memory at address 0x47c70cc8
```
And the output of `p4`
```
(gdb) p4 0x06843aa5
0x6843ab0: 0x330073
0x6843aac: 0x790073 <c1CgU_info+131>
0x6843aa8: 0x6d005c <c1rsa_info+715>
0x6843aa4: 0x3a0045
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.11 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | high |
| Resolution | Unresolved |
| Component | Runtime System |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | simonmar |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"GHCi on Windows segfaults","status":"New","operating_system":"","component":"Runtime System","related":[],"milestone":"8.0.1","resolution":"Unresolved","owner":{"tag":"OwnedBy","contents":"Phyx-"},"version":"7.11","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":["simonmar"],"type":"Bug","description":"GHCi on Windows has had a segfault for while now on `x86_64`. During the upgrade of `GCC` in Phab:D1123 I noticed that test `prog003` was failing with a segfault.\r\n\r\nCurrently the segfault exist in both versions but on `x86` it's particularly easy to trigger.\r\n\r\nIn my case I can't even start ghci.\r\n\r\n{{{\r\n$ inplace/bin/GHC-stage2.exe --interactive\r\nGHCi, version 7.11.20151213: http://www.haskell.org/ghc/ :? for help\r\nSegmentation fault/access violation in generated code\r\n}}}\r\n\r\nThe segfault does not seem to happen when linked to the debug rts, and running with `+RTS -Ds -RTS` doesn't report anything special.\r\n\r\nCompiling with `devel2` so the rts gets compiled with `-g` the stack trace is not very useful.\r\n\r\n{{{\r\n(gdb) run --interactive\r\nStarting program: /home/Tamar/ghc/inplace/bin/ghc-stage2 --interactive\r\n[New Thread 108480.0x1960c]\r\n[New Thread 108480.0x19b2c]\r\n[New Thread 108480.0x19c30]\r\n[New Thread 108480.0x1a0a8]\r\n[New Thread 108480.0x1a93c]\r\n[New Thread 108480.0x13954]\r\n[New Thread 108480.0x14440]\r\nGHCi, version 7.11.20151213: http://www.haskell.org/ghc/ :? for help\r\n\r\nProgram received signal SIGSEGV, Segmentation fault.\r\n0x06843aa5 in ?? ()\r\n(gdb) bt\r\n#0 0x06843aa5 in ?? ()\r\n#1 0x04b82cfc in ?? ()\r\n#2 0x8d078902 in ?? ()\r\n#3 0xc689fd47 in ?? ()\r\n#4 0xff04c583 in ?? ()\r\n#5 0x83c70065 in ?? ()\r\n#6 0x0000033c in ?? ()\r\n#7 0x00000008 in ?? ()\r\n#8 0x04e9c689 in ?? ()\r\nBacktrace stopped: Cannot access memory at address 0x47c70cc8\r\n}}}\r\n\r\nAnd the output of `p4`\r\n\r\n{{{\r\n(gdb) p4 0x06843aa5\r\n0x6843ab0: 0x330073\r\n0x6843aac: 0x790073 <c1CgU_info+131>\r\n0x6843aa8: 0x6d005c <c1rsa_info+715>\r\n0x6843aa4: 0x3a0045\r\n}}}\r\n","type_of_failure":"OtherFailure","blocking":[]} -->8.0.1Tamar ChristinaTamar Christinahttps://gitlab.haskell.org/ghc/ghc/-/issues/11208GHCi doesn't qualify types anymore2021-11-06T18:22:58ZHerbert Valerio Riedelhvr@gnu.orgGHCi doesn't qualify types anymore`M.hs` contains:
```hs
module M where
import qualified Prelude as P
f n = n P.+ 1
g h (P.Just x) = P.Just (h x)
g _ P.Nothing = P.Nothing
```
GHC 7.10.3 behaves as expected:
```
$ ghci-7.10.3 -ignore-dot-ghci M.hs
GHCi, version 7...`M.hs` contains:
```hs
module M where
import qualified Prelude as P
f n = n P.+ 1
g h (P.Just x) = P.Just (h x)
g _ P.Nothing = P.Nothing
```
GHC 7.10.3 behaves as expected:
```
$ ghci-7.10.3 -ignore-dot-ghci M.hs
GHCi, version 7.10.3: http://www.haskell.org/ghc/ :? for help
[1 of 1] Compiling M ( M.hs, interpreted )
Ok, modules loaded: M.
*M> :browse
f :: P.Num a => a -> a
g :: (t -> a) -> P.Maybe t -> P.Maybe a
*M> :t f
f :: P.Num a => a -> a
*M> :t g
g :: (t -> a) -> P.Maybe t -> P.Maybe a
```
However, GHC HEAD drops the module qualifiers
```
$ ghci-7.11.20151209 -ignore-dot-ghci M.hs
GHCi, version 7.11.20151209: http://www.haskell.org/ghc/ :? for help
[1 of 1] Compiling M ( M.hs, interpreted )
Ok, modules loaded: M.
*M> :browse
f :: Num a => a -> a
g :: (t -> a) -> Maybe t -> Maybe a
*M> :t f
f :: Num a => a -> a
*M> :t g
g :: (t -> a) -> Maybe t -> Maybe a
*M> Nothing :: Maybe ()
<interactive>:4:12: error:
Not in scope: type constructor or class ‘Maybe’
Perhaps you meant ‘P.Maybe’ (imported from Prelude)
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.11 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | highest |
| Resolution | Unresolved |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | bgamari |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"GHCi doesn't qualify types anymore","status":"New","operating_system":"","component":"GHCi","related":[],"milestone":"8.0.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.11","keywords":["regression"],"differentials":[],"test_case":"","architecture":"","cc":["bgamari"],"type":"Bug","description":"`M.hs` contains:\r\n\r\n{{{#!hs\r\nmodule M where\r\n\r\nimport qualified Prelude as P\r\n\r\nf n = n P.+ 1\r\n\r\ng h (P.Just x) = P.Just (h x)\r\ng _ P.Nothing = P.Nothing\r\n}}}\r\n\r\nGHC 7.10.3 behaves as expected:\r\n\r\n{{{\r\n$ ghci-7.10.3 -ignore-dot-ghci M.hs \r\nGHCi, version 7.10.3: http://www.haskell.org/ghc/ :? for help\r\n[1 of 1] Compiling M ( M.hs, interpreted )\r\nOk, modules loaded: M.\r\n*M> :browse\r\nf :: P.Num a => a -> a\r\ng :: (t -> a) -> P.Maybe t -> P.Maybe a\r\n*M> :t f\r\nf :: P.Num a => a -> a\r\n*M> :t g\r\ng :: (t -> a) -> P.Maybe t -> P.Maybe a\r\n}}}\r\n\r\nHowever, GHC HEAD drops the module qualifiers\r\n\r\n{{{\r\n$ ghci-7.11.20151209 -ignore-dot-ghci M.hs\r\nGHCi, version 7.11.20151209: http://www.haskell.org/ghc/ :? for help\r\n[1 of 1] Compiling M ( M.hs, interpreted )\r\nOk, modules loaded: M.\r\n*M> :browse\r\nf :: Num a => a -> a\r\ng :: (t -> a) -> Maybe t -> Maybe a\r\n*M> :t f\r\nf :: Num a => a -> a\r\n*M> :t g\r\ng :: (t -> a) -> Maybe t -> Maybe a\r\n*M> Nothing :: Maybe ()\r\n\r\n<interactive>:4:12: error:\r\n Not in scope: type constructor or class ‘Maybe’\r\n Perhaps you meant ‘P.Maybe’ (imported from Prelude)\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->8.0.1https://gitlab.haskell.org/ghc/ghc/-/issues/11130GHCi should not defer typed holes2019-07-07T18:31:49ZThomas MiedemaGHCi should not defer typed holesIn the function `tcUserStmt` in compiler/typecheck/TcRnDriver.hs, before going over the different ways ('plans') to lift an expression typed at the prompt into the GHCi monad, `Opt_DeferTypeErrors` is disabled. Here is the accompanying c...In the function `tcUserStmt` in compiler/typecheck/TcRnDriver.hs, before going over the different ways ('plans') to lift an expression typed at the prompt into the GHCi monad, `Opt_DeferTypeErrors` is disabled. Here is the accompanying comment:
```
-- Ensure that type errors don't get deferred when type checking the
-- naked expression. Deferring type errors here is unhelpful because the
-- expression gets evaluated right away anyway. It also would potentially
-- emit redundant type-error warnings, one from each plan.
; plan <- unsetGOptM Opt_DeferTypeErrors $
```
Since `Opt_DeferTypeErrors` implies `Opt_DeferTypedHoles`, `Opt_DeferTypedHoles` should be disabled here as well. This will improve the error message for T10248.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.10.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"GHCi should not defer typed holes","status":"New","operating_system":"","component":"GHCi","related":[],"milestone":"8.0.1","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.10.2","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"In the function `tcUserStmt` in compiler/typecheck/TcRnDriver.hs, before going over the different ways ('plans') to lift an expression typed at the prompt into the GHCi monad, `Opt_DeferTypeErrors` is disabled. Here is the accompanying comment:\r\n{{{\r\n -- Ensure that type errors don't get deferred when type checking the\r\n -- naked expression. Deferring type errors here is unhelpful because the\r\n -- expression gets evaluated right away anyway. It also would potentially\r\n -- emit redundant type-error warnings, one from each plan.\r\n ; plan <- unsetGOptM Opt_DeferTypeErrors $\r\n}}}\r\n\r\nSince `Opt_DeferTypeErrors` implies `Opt_DeferTypedHoles`, `Opt_DeferTypedHoles` should be disabled here as well. This will improve the error message for T10248.","type_of_failure":"OtherFailure","blocking":[]} -->8.0.1Thomas MiedemaThomas Miedemahttps://gitlab.haskell.org/ghc/ghc/-/issues/11111error message for ":show" in GHCi does not show "paths"2019-07-07T18:31:54Zmassysetterror message for ":show" in GHCi does not show "paths"If I enter a bad argument to :show in GHCi, the "paths" command is not mentioned:
```
ghci> :show path
syntax: :show [ args | prog | prompt | prompt2 | editor | stop | modules
| bindings | breaks | context | packages | ...If I enter a bad argument to :show in GHCi, the "paths" command is not mentioned:
```
ghci> :show path
syntax: :show [ args | prog | prompt | prompt2 | editor | stop | modules
| bindings | breaks | context | packages | language ]
```8.0.1Ben GamariBen Gamarihttps://gitlab.haskell.org/ghc/ghc/-/issues/11100Remote GHCi2023-02-28T15:44:16ZSimon MarlowRemote GHCiThis task is to implement Remote GHCi, i.e. running interpreted code in a separate process. For more details see [wiki:RemoteGHCi](wiki:RemoteGHCi).
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ...This task is to implement Remote GHCi, i.e. running interpreted code in a separate process. For more details see [wiki:RemoteGHCi](wiki:RemoteGHCi).
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.10.2 |
| Type | Task |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Remote GHCi","status":"New","operating_system":"","component":"GHCi","related":[],"milestone":"8.0.1","resolution":"Unresolved","owner":{"tag":"OwnedBy","contents":"simonmar"},"version":"7.10.2","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Task","description":"This task is to implement Remote GHCi, i.e. running interpreted code in a separate process. For more details see [wiki:RemoteGHCi].","type_of_failure":"OtherFailure","blocking":[]} -->8.0.1Simon MarlowSimon Marlowhttps://gitlab.haskell.org/ghc/ghc/-/issues/11047Provide call stacks in GHCi2019-07-07T18:32:25ZSimon MarlowProvide call stacks in GHCiI want call stacks to be available in GHCi with no effort on the part of the user, or changes to the source code. The call stack will be available both programatically and via GHCi commands:
- `GHC.Stack.currentCallStack` returns the cu...I want call stacks to be available in GHCi with no effort on the part of the user, or changes to the source code. The call stack will be available both programatically and via GHCi commands:
- `GHC.Stack.currentCallStack` returns the current call stack as `[String]`. This can be used from `error` and copied into the exception string.
- `Debug.Trace.traceStack` prints out the stack anywhere.
- GHCi will have a new command `:where` to print out the stack when stopped at a breakpoint
The stack trace will be the accurate (i.e. not exposing details of lazy evaluation or tail calls) and detailed (including locations of calls, not just the enclosing function definition).
# Implementation
Here's how it's going to work:
- We make GHCi work with profiling (done: [D1407](https://phabricator.haskell.org/D1407))
- We make breakpoint ticks behave like SCC annotations, and update the interpreter to implement the cost-centre-stack semantics.
# Example
Here's an example from my prototype:
```
g :: Int -> [Int]
g n = traceStack "g" [n]
h :: Int -> Bool
h n = case g n of
[] -> True
(x:xs) -> False
map :: (a -> b) -> [a] -> [b]
map f [] = []
map f (x:xs) = f x : map f xs
k n = map h [n]
```
```
[1 of 1] Compiling Main ( /home/smarlow/scratch/dbg1.hs, interpreted )
Ok, modules loaded: Main.
*Main> k 1
[g
Stack trace:
Main.g (/home/smarlow/scratch/dbg1.hs:13:7-24)
Main.g (/home/smarlow/scratch/dbg1.hs:13:1-24)
Main.h (/home/smarlow/scratch/dbg1.hs:16:12-14)
Main.h (/home/smarlow/scratch/dbg1.hs:(16,7)-(18,24))
Main.h (/home/smarlow/scratch/dbg1.hs:(16,1)-(18,24))
Main.map (/home/smarlow/scratch/dbg1.hs:22:16-18)
Main.map (/home/smarlow/scratch/dbg1.hs:22:16-29)
Main.map (/home/smarlow/scratch/dbg1.hs:(21,1)-(22,29))
Main.k (/home/smarlow/scratch/dbg1.hs:24:7-15)
Main.k (/home/smarlow/scratch/dbg1.hs:24:1-15)
False]
*Main>
```
We could trim some of the extra detail from the stack trace so that each function appears once; there are several choices here, currently I'm collecting and displaying the most detail.
# Deployment
One disadvantage of this is that it requires GHCi to be built with profiling, and all the libraries have to be built with profiling too. There are two options for deployment:
1. We deploy two versions of GHCi (profiled and non-profiled), or
1. We expand on what GHCJS did, and make the interpreted code run in a separate process, thus separating the GHCi binary itself from the code being interpreted. This would allow the interpreted code to be run with the profiled RTS while GHCi itself is unprofiled.8.0.1Simon MarlowSimon Marlowhttps://gitlab.haskell.org/ghc/ghc/-/issues/10989:ctags and :etags command can receive haskell source files as a parameter2021-08-08T16:21:11Zhugomg:ctags and :etags command can receive haskell source files as a parameterA friend of mine accidentally lost a bunch of uncomited code because he passed the name of his source file to ghci's ctags command
```
:ctags hisstuff.hs
```
He tought that the ctags parameter was the name of the file to create the cta...A friend of mine accidentally lost a bunch of uncomited code because he passed the name of his source file to ghci's ctags command
```
:ctags hisstuff.hs
```
He tought that the ctags parameter was the name of the file to create the ctags from. Instead, that parameter is actually for the name of the file to write the tags to. His Haskell source file was instantly overwritten by the tag info.
The source of this confusion is that the the documentation from the `:help` command just says it takes a "file" parameter, without explicitly mentioning that its the name of the \*output\* file.
```
:ctags[!] [<file>] create tags file for Vi (default: "tags")
(!: use regex instead of line number)
:etags [<file>] create tags file for Emacs (default: "TAGS")
```
I think it would be safer to use a more precise name here instead of `<file>`. Something like `<output>` or `<outputFile>`. It might also be a good idea to forbid the ctags and etags commands from overwriting existing "hs" and "lhs" source files. If a user types `:ctags something.hs` then its almost certainly a mistake with potentially destructive consequences.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.10.2 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":":ctags and :etags command can receive haskell source files as a parameter","status":"New","operating_system":"","component":"GHCi","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.10.2","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"FeatureRequest","description":"A friend of mine accidentally lost a bunch of uncomited code because he passed the name of his source file to ghci's ctags command\r\n\r\n{{{\r\n:ctags hisstuff.hs\r\n}}}\r\n\r\nHe tought that the ctags parameter was the name of the file to create the ctags from. Instead, that parameter is actually for the name of the file to write the tags to. His Haskell source file was instantly overwritten by the tag info.\r\n\r\nThe source of this confusion is that the the documentation from the `:help` command just says it takes a \"file\" parameter, without explicitly mentioning that its the name of the *output* file.\r\n\r\n{{{\r\n:ctags[!] [<file>] create tags file for Vi (default: \"tags\")\r\n (!: use regex instead of line number)\r\n\r\n:etags [<file>] create tags file for Emacs (default: \"TAGS\")\r\n}}}\r\n\r\nI think it would be safer to use a more precise name here instead of `<file>`. Something like `<output>` or `<outputFile>`. It might also be a good idea to forbid the ctags and etags commands from overwriting existing \"hs\" and \"lhs\" source files. If a user types `:ctags something.hs` then its almost certainly a mistake with potentially destructive consequences.","type_of_failure":"OtherFailure","blocking":[]} -->8.0.1tvvtvvhttps://gitlab.haskell.org/ghc/ghc/-/issues/10936Can't fire up GHCi with Mueval2019-07-07T18:32:59ZbitemyappCan't fire up GHCi with MuevalCf. https://github.com/commercialhaskell/stack/issues/1094\#issuecomment-145949397
```
$ stack ghci mueval:exe:mueval
Using main module: Package `mueval' component exe:mueval with main-is file: /home/callen/work/mueval/watchdog.hs
Confi...Cf. https://github.com/commercialhaskell/stack/issues/1094\#issuecomment-145949397
```
$ stack ghci mueval:exe:mueval
Using main module: Package `mueval' component exe:mueval with main-is file: /home/callen/work/mueval/watchdog.hs
Configuring GHCi with the following packages: mueval
GHCi, version 7.10.2: http://www.haskell.org/ghc/ :? for help
ghc: --interactive can't be used with -prof or -unreg.
Usage: For basic information, try the `--help' option.
```
```
$ stack -v ghci mueval:exe:mueval
Version 0.1.5.0 X86_64
2015-10-06 20:40:02.88486: [debug] Checking for project config at: /home/callen/work/mueval/stack.yaml @(stack_Bp003b8iWaELtdr693pSPs:Stack.Config src/Stack/Config.hs:511:9)
2015-10-06 20:40:02.885018: [debug] Loading project config file stack.yaml @(stack_Bp003b8iWaELtdr693pSPs:Stack.Config src/Stack/Config.hs:534:13)
2015-10-06 20:40:02.885749: [debug] Run process: ldd /home/callen/.local/bin/stack @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)
2015-10-06 20:40:02.893986: [debug] Trying to decode /home/callen/.stack/build-plan-cache/x86_64-linux/lts-3.5.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:53:5)
2015-10-06 20:40:02.900069: [debug] Success decoding /home/callen/.stack/build-plan-cache/x86_64-linux/lts-3.5.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:62:13)
2015-10-06 20:40:02.900294: [debug] Run process: ghc --info @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)
2015-10-06 20:40:02.931936: [debug] Run process: ghc --numeric-version @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)
2015-10-06 20:40:02.948879: [debug] Run process: ghc-pkg --no-user-package-db field --simple-output Cabal version @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)
2015-10-06 20:40:02.964055: [debug] Run process: ghc-pkg --no-user-package-db list --global @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)
2015-10-06 20:40:02.979938: [debug] Run process: locale -a @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)
2015-10-06 20:40:02.981134: [debug] Checking resolver: lts-3.5 @(stack_Bp003b8iWaELtdr693pSPs:Stack.Build.Source src/Stack/Build/Source.hs:163:17)
2015-10-06 20:40:02.981242: [debug] Trying to decode /home/callen/.stack/build-plan-cache/x86_64-linux/lts-3.5.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:53:5)
2015-10-06 20:40:02.985054: [debug] Success decoding /home/callen/.stack/build-plan-cache/x86_64-linux/lts-3.5.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:62:13)
2015-10-06 20:40:02.989986: [debug] Checking resolver: lts-3.5 @(stack_Bp003b8iWaELtdr693pSPs:Stack.Build.Source src/Stack/Build/Source.hs:163:17)
2015-10-06 20:40:02.990098: [debug] Trying to decode /home/callen/.stack/build-plan-cache/x86_64-linux/lts-3.5.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:53:5)
2015-10-06 20:40:02.994056: [debug] Success decoding /home/callen/.stack/build-plan-cache/x86_64-linux/lts-3.5.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:62:13)
2015-10-06 20:40:02.995893: [debug] Trying to decode /home/callen/.stack/indices/Hackage/00-index.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:53:5)
2015-10-06 20:40:03.15333: [debug] Success decoding /home/callen/.stack/indices/Hackage/00-index.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:62:13)
2015-10-06 20:40:03.1727: [debug] Checking resolver: lts-3.5 @(stack_Bp003b8iWaELtdr693pSPs:Stack.Build.Source src/Stack/Build/Source.hs:163:17)
2015-10-06 20:40:03.172812: [debug] Trying to decode /home/callen/.stack/build-plan-cache/x86_64-linux/lts-3.5.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:53:5)
2015-10-06 20:40:03.17626: [debug] Success decoding /home/callen/.stack/build-plan-cache/x86_64-linux/lts-3.5.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:62:13)
2015-10-06 20:40:03.177793: [debug] Trying to decode /home/callen/.stack/indices/Hackage/00-index.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:53:5)
2015-10-06 20:40:03.338356: [debug] Success decoding /home/callen/.stack/indices/Hackage/00-index.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:62:13)
2015-10-06 20:40:03.343809: [debug] Run process: ghc-pkg --global --no-user-package-db dump --expand-pkgroot @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)
2015-10-06 20:40:03.373571: [debug] Run process: ghc-pkg --user --no-user-package-db --package-db /home/callen/.stack/snapshots/x86_64-linux/lts-3.5/7.10.2/pkgdb/ dump --expand-pkgroot @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)
2015-10-06 20:40:03.483621: [debug] Run process: ghc-pkg --user --no-user-package-db --package-db /home/callen/work/mueval/.stack-work/install/x86_64-linux/lts-3.5/7.10.2/pkgdb/ dump --expand-pkgroot @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)
2015-10-06 20:40:03.498867: [debug] Trying to decode /home/callen/.stack/indices/Hackage/00-index.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:53:5)
2015-10-06 20:40:03.648263: [debug] Success decoding /home/callen/.stack/indices/Hackage/00-index.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:62:13)
2015-10-06 20:40:03.648411: [debug] Trying to decode /home/callen/.stack/indices/Hackage/00-index.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:53:5)
2015-10-06 20:40:03.806948: [debug] Success decoding /home/callen/.stack/indices/Hackage/00-index.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:62:13)
2015-10-06 20:40:03.872715: [debug] Run process: ghc-pkg --no-user-package-db list --global @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)
2015-10-06 20:40:03.888689: [info] Using main module: Package `mueval' component exe:mueval with main-is file: /home/callen/work/mueval/watchdog.hs @(stack_Bp003b8iWaELtdr693pSPs:Stack.Ghci src/Stack/Ghci.hs:101:28)
2015-10-06 20:40:03.888816: [info] Configuring GHCi with the following packages: mueval @(stack_Bp003b8iWaELtdr693pSPs:Stack.Ghci src/Stack/Ghci.hs:81:5)
2015-10-06 20:40:03.888868: [debug] Run process: ghc --interactive -odir=/home/callen/work/mueval/.stack-work/odir/ -hidir=/home/callen/work/mueval/.stack-work/odir/ -hide-all-packages -Wall -static -i/home/callen/work/mueval/ -i/home/callen/work/mueval/.stack-work/dist/x86_64-linux/Cabal-1.22.4.0/build/autogen/ -i/home/callen/work/mueval/.stack-work/dist/x86_64-linux/Cabal-1.22.4.0/build/ -stubdir=/home/callen/work/mueval/.stack-work/dist/x86_64-linux/Cabal-1.22.4.0/build/ -optP-include -optP/home/callen/work/mueval/.stack-work/dist/x86_64-linux/Cabal-1.22.4.0/build/autogen/cabal_macros.h -package=base /home/callen/work/mueval/watchdog.hs @(stack_Bp003b8iWaELtdr693pSPs:Stack.Exec src/Stack/Exec.hs:52:5)
GHCi, version 7.10.2: http://www.haskell.org/ghc/ :? for help
ghc: --interactive can't be used with -prof or -unreg.
Usage: For basic information, try the `--help' option.
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.10.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Can't fire up GHCi with Mueval","status":"New","operating_system":"","component":"GHCi","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.10.2","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Cf. https://github.com/commercialhaskell/stack/issues/1094#issuecomment-145949397\r\n\r\n{{{\r\n$ stack ghci mueval:exe:mueval\r\nUsing main module: Package `mueval' component exe:mueval with main-is file: /home/callen/work/mueval/watchdog.hs\r\nConfiguring GHCi with the following packages: mueval\r\nGHCi, version 7.10.2: http://www.haskell.org/ghc/ :? for help\r\nghc: --interactive can't be used with -prof or -unreg.\r\nUsage: For basic information, try the `--help' option.\r\n}}}\r\n\r\n\r\n{{{\r\n$ stack -v ghci mueval:exe:mueval\r\nVersion 0.1.5.0 X86_64\r\n2015-10-06 20:40:02.88486: [debug] Checking for project config at: /home/callen/work/mueval/stack.yaml @(stack_Bp003b8iWaELtdr693pSPs:Stack.Config src/Stack/Config.hs:511:9)\r\n2015-10-06 20:40:02.885018: [debug] Loading project config file stack.yaml @(stack_Bp003b8iWaELtdr693pSPs:Stack.Config src/Stack/Config.hs:534:13)\r\n2015-10-06 20:40:02.885749: [debug] Run process: ldd /home/callen/.local/bin/stack @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)\r\n2015-10-06 20:40:02.893986: [debug] Trying to decode /home/callen/.stack/build-plan-cache/x86_64-linux/lts-3.5.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:53:5)\r\n2015-10-06 20:40:02.900069: [debug] Success decoding /home/callen/.stack/build-plan-cache/x86_64-linux/lts-3.5.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:62:13)\r\n2015-10-06 20:40:02.900294: [debug] Run process: ghc --info @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)\r\n2015-10-06 20:40:02.931936: [debug] Run process: ghc --numeric-version @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)\r\n2015-10-06 20:40:02.948879: [debug] Run process: ghc-pkg --no-user-package-db field --simple-output Cabal version @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)\r\n2015-10-06 20:40:02.964055: [debug] Run process: ghc-pkg --no-user-package-db list --global @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)\r\n2015-10-06 20:40:02.979938: [debug] Run process: locale -a @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)\r\n2015-10-06 20:40:02.981134: [debug] Checking resolver: lts-3.5 @(stack_Bp003b8iWaELtdr693pSPs:Stack.Build.Source src/Stack/Build/Source.hs:163:17)\r\n2015-10-06 20:40:02.981242: [debug] Trying to decode /home/callen/.stack/build-plan-cache/x86_64-linux/lts-3.5.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:53:5)\r\n2015-10-06 20:40:02.985054: [debug] Success decoding /home/callen/.stack/build-plan-cache/x86_64-linux/lts-3.5.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:62:13)\r\n2015-10-06 20:40:02.989986: [debug] Checking resolver: lts-3.5 @(stack_Bp003b8iWaELtdr693pSPs:Stack.Build.Source src/Stack/Build/Source.hs:163:17)\r\n2015-10-06 20:40:02.990098: [debug] Trying to decode /home/callen/.stack/build-plan-cache/x86_64-linux/lts-3.5.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:53:5)\r\n2015-10-06 20:40:02.994056: [debug] Success decoding /home/callen/.stack/build-plan-cache/x86_64-linux/lts-3.5.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:62:13)\r\n2015-10-06 20:40:02.995893: [debug] Trying to decode /home/callen/.stack/indices/Hackage/00-index.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:53:5)\r\n2015-10-06 20:40:03.15333: [debug] Success decoding /home/callen/.stack/indices/Hackage/00-index.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:62:13)\r\n2015-10-06 20:40:03.1727: [debug] Checking resolver: lts-3.5 @(stack_Bp003b8iWaELtdr693pSPs:Stack.Build.Source src/Stack/Build/Source.hs:163:17)\r\n2015-10-06 20:40:03.172812: [debug] Trying to decode /home/callen/.stack/build-plan-cache/x86_64-linux/lts-3.5.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:53:5)\r\n2015-10-06 20:40:03.17626: [debug] Success decoding /home/callen/.stack/build-plan-cache/x86_64-linux/lts-3.5.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:62:13)\r\n2015-10-06 20:40:03.177793: [debug] Trying to decode /home/callen/.stack/indices/Hackage/00-index.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:53:5)\r\n2015-10-06 20:40:03.338356: [debug] Success decoding /home/callen/.stack/indices/Hackage/00-index.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:62:13)\r\n2015-10-06 20:40:03.343809: [debug] Run process: ghc-pkg --global --no-user-package-db dump --expand-pkgroot @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)\r\n2015-10-06 20:40:03.373571: [debug] Run process: ghc-pkg --user --no-user-package-db --package-db /home/callen/.stack/snapshots/x86_64-linux/lts-3.5/7.10.2/pkgdb/ dump --expand-pkgroot @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)\r\n2015-10-06 20:40:03.483621: [debug] Run process: ghc-pkg --user --no-user-package-db --package-db /home/callen/work/mueval/.stack-work/install/x86_64-linux/lts-3.5/7.10.2/pkgdb/ dump --expand-pkgroot @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)\r\n2015-10-06 20:40:03.498867: [debug] Trying to decode /home/callen/.stack/indices/Hackage/00-index.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:53:5)\r\n2015-10-06 20:40:03.648263: [debug] Success decoding /home/callen/.stack/indices/Hackage/00-index.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:62:13)\r\n2015-10-06 20:40:03.648411: [debug] Trying to decode /home/callen/.stack/indices/Hackage/00-index.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:53:5)\r\n2015-10-06 20:40:03.806948: [debug] Success decoding /home/callen/.stack/indices/Hackage/00-index.cache @(stack_Bp003b8iWaELtdr693pSPs:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:62:13)\r\n2015-10-06 20:40:03.872715: [debug] Run process: ghc-pkg --no-user-package-db list --global @(stack_Bp003b8iWaELtdr693pSPs:System.Process.Read src/System/Process/Read.hs:259:3)\r\n2015-10-06 20:40:03.888689: [info] Using main module: Package `mueval' component exe:mueval with main-is file: /home/callen/work/mueval/watchdog.hs @(stack_Bp003b8iWaELtdr693pSPs:Stack.Ghci src/Stack/Ghci.hs:101:28)\r\n2015-10-06 20:40:03.888816: [info] Configuring GHCi with the following packages: mueval @(stack_Bp003b8iWaELtdr693pSPs:Stack.Ghci src/Stack/Ghci.hs:81:5)\r\n2015-10-06 20:40:03.888868: [debug] Run process: ghc --interactive -odir=/home/callen/work/mueval/.stack-work/odir/ -hidir=/home/callen/work/mueval/.stack-work/odir/ -hide-all-packages -Wall -static -i/home/callen/work/mueval/ -i/home/callen/work/mueval/.stack-work/dist/x86_64-linux/Cabal-1.22.4.0/build/autogen/ -i/home/callen/work/mueval/.stack-work/dist/x86_64-linux/Cabal-1.22.4.0/build/ -stubdir=/home/callen/work/mueval/.stack-work/dist/x86_64-linux/Cabal-1.22.4.0/build/ -optP-include -optP/home/callen/work/mueval/.stack-work/dist/x86_64-linux/Cabal-1.22.4.0/build/autogen/cabal_macros.h -package=base /home/callen/work/mueval/watchdog.hs @(stack_Bp003b8iWaELtdr693pSPs:Stack.Exec src/Stack/Exec.hs:52:5)\r\nGHCi, version 7.10.2: http://www.haskell.org/ghc/ :? for help\r\nghc: --interactive can't be used with -prof or -unreg.\r\nUsage: For basic information, try the `--help' option.\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->8.0.1https://gitlab.haskell.org/ghc/ghc/-/issues/10874Implement `:type-at`, `:all-types`, `:loc-at` in GHCi2019-07-07T18:33:23ZHerbert Valerio Riedelhvr@gnu.orgImplement `:type-at`, `:all-types`, `:loc-at` in GHCiWe missed the opportunity to merge this for GHC 7.10 but I hope this can make it for GHC 8.0
See https://github.com/chrisdone/ghci-ng/blob/master/README.md for a description of the new GHCi commandsWe missed the opportunity to merge this for GHC 7.10 but I hope this can make it for GHC 8.0
See https://github.com/chrisdone/ghci-ng/blob/master/README.md for a description of the new GHCi commands8.0.1https://gitlab.haskell.org/ghc/ghc/-/issues/10848GHC/GHCi should optionally print errors in reversed order2019-07-07T18:33:30ZÖmer Sinan AğacanGHC/GHCi should optionally print errors in reversed orderThis would be super useful especially when refactoring. The way I usually do refactoring is that I break things with a change, and then reload GHCi, fixing a couple of errors at a time. I almost always start with first error, which means...This would be super useful especially when refactoring. The way I usually do refactoring is that I break things with a change, and then reload GHCi, fixing a couple of errors at a time. I almost always start with first error, which means I have to scroll every time I reaload GHCi.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.11 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | lowest |
| Resolution | Unresolved |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"GHC/GHCi should optionally print errors in reversed order","status":"New","operating_system":"","component":"GHCi","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.11","keywords":["newcomer"],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"FeatureRequest","description":"This would be super useful especially when refactoring. The way I usually do refactoring is that I break things with a change, and then reload GHCi, fixing a couple of errors at a time. I almost always start with first error, which means I have to scroll every time I reaload GHCi.","type_of_failure":"OtherFailure","blocking":[]} -->8.0.1siddhanathansiddhanathanhttps://gitlab.haskell.org/ghc/ghc/-/issues/10847:info should print minimal definition2019-07-07T18:33:31ZÖmer Sinan Ağacan:info should print minimal definitionIt'd be great if `:info` would print minimal definitions too. This way we can implement a typeclass that we learn about using `:info` without having to look at the haddocks.
<details><summary>Trac metadata</summary>
| Trac field ...It'd be great if `:info` would print minimal definitions too. This way we can implement a typeclass that we learn about using `:info` without having to look at the haddocks.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.11 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | lowest |
| Resolution | Unresolved |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":":info should print minimal definition","status":"New","operating_system":"","component":"GHCi","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.11","keywords":["newcomer"],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"FeatureRequest","description":"It'd be great if `:info` would print minimal definitions too. This way we can implement a typeclass that we learn about using `:info` without having to look at the haddocks.","type_of_failure":"OtherFailure","blocking":[]} -->8.0.1Moritz KieferMoritz Kiefer