GHC issueshttps://gitlab.haskell.org/ghc/ghc/-/issues2019-07-07T19:12:22Zhttps://gitlab.haskell.org/ghc/ghc/-/issues/1657throwTo + unsafeInterleaveIO oddness2019-07-07T19:12:22ZguestthrowTo + unsafeInterleaveIO oddnessI suspect this is related/dup of #418
but it's biting me with something I've been doing, so here's another test case.
I have a long-running computation which returns a list which I then consume.
I'm working on a visualizer app, where I...I suspect this is related/dup of #418
but it's biting me with something I've been doing, so here's another test case.
I have a long-running computation which returns a list which I then consume.
I'm working on a visualizer app, where I want to update the visualizer in real-time while running the computation.
I wrote some glue which takes the list and computes it in a background thread, returning a piece every X microseconds.
Code will be attached.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 6.6.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Runtime System |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"throwTo + unsafeInterleaveIO oddness","status":"New","operating_system":"","component":"Runtime System","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.6.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"I suspect this is related/dup of #418\r\nbut it's biting me with something I've been doing, so here's another test case.\r\n\r\nI have a long-running computation which returns a list which I then consume.\r\n\r\nI'm working on a visualizer app, where I want to update the visualizer in real-time while running the computation.\r\n\r\nI wrote some glue which takes the list and computes it in a background thread, returning a piece every X microseconds.\r\n\r\nCode will be attached.","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/1658CSE changes semantics2019-07-07T19:12:21ZguestCSE changes semanticsCreate file:
main = print $ 1/0 - 1/0
Compile with -O0, it outputs: NaN
Compile with -O1, it outputs: 0.0
Compile with -O1 -fno-cse, it outputs: NaN
<details><summary>Trac metadata</summary>
| Trac field | Value ...Create file:
main = print $ 1/0 - 1/0
Compile with -O0, it outputs: NaN
Compile with -O1, it outputs: 0.0
Compile with -O1 -fno-cse, it outputs: NaN
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 6.7 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | Multiple |
| Architecture | Multiple |
</details>
<!-- {"blocked_by":[],"summary":"CSE changes semantics","status":"New","operating_system":"Multiple","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.7","keywords":[],"differentials":[],"test_case":"","architecture":"Multiple","cc":[""],"type":"Bug","description":"Create file:\r\n\r\nmain = print $ 1/0 - 1/0\r\n\r\nCompile with -O0, it outputs: NaN\r\n\r\nCompile with -O1, it outputs: 0.0\r\n\r\nCompile with -O1 -fno-cse, it outputs: NaN","type_of_failure":"OtherFailure","blocking":[]} -->Ian Lynagh <igloo@earth.li>Ian Lynagh <igloo@earth.li>https://gitlab.haskell.org/ghc/ghc/-/issues/1659Cabal build problem with GHC <= 6.42019-07-07T19:12:21ZSimon MarlowCabal build problem with GHC <= 6.4```
ghc-6.2.2 -H16m -O -I. -Iinclude -Rghc-timing -H32m -O -I../libraries -fglasgow-exts -no-recomp -c Distribution/Compat/Map.hs -o Distribution/Compat/Map.o -ohi Distribution/Compat/Map.hi
../libraries/Cabal/Distribution/Compat/...```
ghc-6.2.2 -H16m -O -I. -Iinclude -Rghc-timing -H32m -O -I../libraries -fglasgow-exts -no-recomp -c Distribution/Compat/Map.hs -o Distribution/Compat/Map.o -ohi Distribution/Compat/Map.hi
../libraries/Cabal/Distribution/Compat/Map.hs:68:
Inferred type is less polymorphic than expected
Quantified type variable `b' is unified with another quantified type variable `k'
When trying to generalise the type inferred for `difference'
Signature type: forall k a b.
(Ord k) =>
Map k a -> Map k b -> Map k a
Type to generalise: Map k a -> Map k k -> Map k a
When checking the type signature for `difference'
When generalising the type(s) for `difference'
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ----------------- |
| Version | 6.6.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | high |
| Resolution | Unresolved |
| Component | libraries (other) |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | Unknown |
| Architecture | Unknown |
</details>
<!-- {"blocked_by":[],"summary":"Cabal build problem with GHC <= 6.4","status":"New","operating_system":"Unknown","component":"libraries (other)","related":[],"milestone":"6.8 branch","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.6.1","keywords":[],"differentials":[],"test_case":"","architecture":"Unknown","cc":[""],"type":"Bug","description":"{{{\r\nghc-6.2.2 -H16m -O -I. -Iinclude -Rghc-timing -H32m -O -I../libraries -fglasgow-exts -no-recomp -c Distribution/Compat/Map.hs -o Distribution/Compat/Map.o -ohi Distribution/Compat/Map.hi\r\n\r\n../libraries/Cabal/Distribution/Compat/Map.hs:68:\r\n Inferred type is less polymorphic than expected\r\n Quantified type variable `b' is unified with another quantified type variable `k'\r\n When trying to generalise the type inferred for `difference'\r\n Signature type: forall k a b.\r\n (Ord k) =>\r\n Map k a -> Map k b -> Map k a\r\n Type to generalise: Map k a -> Map k k -> Map k a\r\n When checking the type signature for `difference'\r\n When generalising the type(s) for `difference'\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->6.8.1Simon MarlowSimon Marlowhttps://gitlab.haskell.org/ghc/ghc/-/issues/1660Can't make DLLs anymore2019-07-07T19:12:21ZguestCan't make DLLs anymoreI'm trying to build a DLL on Windows, but the flag --mk-dll is gone. Instead there is a flag --shared, but it doesn't do the same thing. Furthermore, the flag --optdll to pass arguments to the DLL maker is gone.
The documentation still r...I'm trying to build a DLL on Windows, but the flag --mk-dll is gone. Instead there is a flag --shared, but it doesn't do the same thing. Furthermore, the flag --optdll to pass arguments to the DLL maker is gone.
The documentation still refers to --mk-dll, btw.
This is with the ghc-6.7.20070824 snapshot.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 6.7 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | high |
| Resolution | Unresolved |
| Component | Driver |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Can't make DLLs anymore","status":"New","operating_system":"","component":"Driver","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.7","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"I'm trying to build a DLL on Windows, but the flag --mk-dll is gone. Instead there is a flag --shared, but it doesn't do the same thing. Furthermore, the flag --optdll to pass arguments to the DLL maker is gone.\r\nThe documentation still refers to --mk-dll, btw.\r\n\r\nThis is with the ghc-6.7.20070824 snapshot.","type_of_failure":"OtherFailure","blocking":[]} -->6.8.1https://gitlab.haskell.org/ghc/ghc/-/issues/1661Can't use FFI anymore.2019-07-07T19:12:21ZguestCan't use FFI anymore.I'm trying to use the ghc-6.7.20070824 snapshot on Windows, but it's impossible to use FFI because Rts.h includes gmp.h, and there is no gmp.h.
<details><summary>Trac metadata</summary>
| Trac field | Value ...I'm trying to use the ghc-6.7.20070824 snapshot on Windows, but it's impossible to use FFI because Rts.h includes gmp.h, and there is no gmp.h.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------------------------------ |
| Version | 6.7 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | high |
| Resolution | Unresolved |
| Component | Build System |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | lennart.augustsson@credit-suisse.com |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Can't use FFI anymore.","status":"New","operating_system":"","component":"Build System","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.7","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":["lennart.augustsson@credit-suisse.com"],"type":"Bug","description":"I'm trying to use the ghc-6.7.20070824 snapshot on Windows, but it's impossible to use FFI because Rts.h includes gmp.h, and there is no gmp.h.","type_of_failure":"OtherFailure","blocking":[]} -->6.8.1https://gitlab.haskell.org/ghc/ghc/-/issues/1662mistranslation of arrow notation2019-07-07T19:12:20ZRoss Patersonr.paterson@city.ac.ukmistranslation of arrow notation(Split from #1333)
arrowrun004 has a core lint failure for all ways:
```
*** Core Lint Errors: in result of Desugar ***
<no location info>:
In the expression: >>>_aEC @ () @ () @ GHC.Base.Int
>>>_aEC is out of scope
*** Offendi...(Split from #1333)
arrowrun004 has a core lint failure for all ways:
```
*** Core Lint Errors: in result of Desugar ***
<no location info>:
In the expression: >>>_aEC @ () @ () @ GHC.Base.Int
>>>_aEC is out of scope
*** Offending Program ***
[...]
Main.expr :: Main.ExprParser () GHC.Base.Int
[]
Main.expr =
>>>_aEC
@ ()
@ ()
@ GHC.Base.Int
(arr_aEB
[...]
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 6.6.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | arrowrun004 |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | Unknown |
| Architecture | Unknown |
</details>
<!-- {"blocked_by":[],"summary":"mistranslation of arrow notation","status":"New","operating_system":"Unknown","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.6.1","keywords":[],"differentials":[],"test_case":"arrowrun004","architecture":"Unknown","cc":[""],"type":"Bug","description":"(Split from #1333)\r\n\r\narrowrun004 has a core lint failure for all ways:\r\n{{{\r\n*** Core Lint Errors: in result of Desugar ***\r\n<no location info>:\r\n In the expression: >>>_aEC @ () @ () @ GHC.Base.Int\r\n >>>_aEC is out of scope\r\n*** Offending Program *** \r\n[...]\r\nMain.expr :: Main.ExprParser () GHC.Base.Int\r\n[]\r\nMain.expr =\r\n >>>_aEC\r\n @ ()\r\n @ ()\r\n @ GHC.Base.Int\r\n (arr_aEB\r\n[...]\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->Ian Lynagh <igloo@earth.li>Ian Lynagh <igloo@earth.li>https://gitlab.haskell.org/ghc/ghc/-/issues/1663Critical sections not deallocated2019-07-07T19:12:20ZguestCritical sections not deallocatedThere's a number of critical sections in the Windows RTS that are allocated, but never freed (DeleteCriticalSection):
```
ASyncIO.c: queue_lock
IOManager.c: ioMan->manLock, ioMan->active_work_lock
WorkQueue.c: wq->queueLock
```
<detail...There's a number of critical sections in the Windows RTS that are allocated, but never freed (DeleteCriticalSection):
```
ASyncIO.c: queue_lock
IOManager.c: ioMan->manLock, ioMan->active_work_lock
WorkQueue.c: wq->queueLock
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------------------------------ |
| Version | 6.7 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Runtime System |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | lennart.augustsson@credit-suisse.com |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Critical sections not deallocated","status":"New","operating_system":"","component":"Runtime System","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.7","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":["lennart.augustsson@credit-suisse.com"],"type":"Bug","description":"There's a number of critical sections in the Windows RTS that are allocated, but never freed (DeleteCriticalSection):\r\n\r\n{{{\r\nASyncIO.c: queue_lock\r\nIOManager.c: ioMan->manLock, ioMan->active_work_lock\r\nWorkQueue.c: wq->queueLock\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->6.8.2Ian Lynagh <igloo@earth.li>Ian Lynagh <igloo@earth.li>https://gitlab.haskell.org/ghc/ghc/-/issues/1664configure unsuccessful on binary build2019-07-07T19:12:20Zg9ks157k@acme.softbase.orgconfigure unsuccessful on binary buildI tried to install the nightly snapshot of the file `ghc-6.7.20070820-i386-unknown-linux.tar.bz2`. I ran ./configure with just a --prefix option. I got the following output:
```
checking build system type... i686-pc-linux-gnu
checking h...I tried to install the nightly snapshot of the file `ghc-6.7.20070820-i386-unknown-linux.tar.bz2`. I ran ./configure with just a --prefix option. I got the following output:
```
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
Which we'll further canonicalise into: i386-unknown-linux
checking for path to top of build tree... ./configure: line 1433: cd: utils/pwd: No such file or directory
./configure: line 1438: -v0: command not found
./configure: line 1441: utils/pwd/pwd: No such file or directory
configure: error: cannot determine current directory
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 6.7 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | None |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"configure unsuccessful on binary build","status":"New","operating_system":"","component":"None","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.7","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"I tried to install the nightly snapshot of the file {{{ghc-6.7.20070820-i386-unknown-linux.tar.bz2}}}. I ran ./configure with just a --prefix option. I got the following output:\r\n{{{\r\nchecking build system type... i686-pc-linux-gnu\r\nchecking host system type... i686-pc-linux-gnu\r\nchecking target system type... i686-pc-linux-gnu\r\nWhich we'll further canonicalise into: i386-unknown-linux\r\nchecking for path to top of build tree... ./configure: line 1433: cd: utils/pwd: No such file or directory\r\n./configure: line 1438: -v0: command not found\r\n./configure: line 1441: utils/pwd/pwd: No such file or directory\r\nconfigure: error: cannot determine current directory\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/1665rnf should work for any value or rnf should be implemented in the compiler2019-07-07T19:12:19Ziampure@gmail.comrnf should work for any value or rnf should be implemented in the compilerCurrently rnf is implemented in a type class NFData in Control.Parallel.Strategies. This is not general enough, since it doesn't work for values that only exist in a monad. E.g. something built in the ST monad that uses unsafeInterleaveS...Currently rnf is implemented in a type class NFData in Control.Parallel.Strategies. This is not general enough, since it doesn't work for values that only exist in a monad. E.g. something built in the ST monad that uses unsafeInterleaveST cannot be converted to head normal form via rnf, since it cannot return a "Done" value, only a ST s Done value.
A solution would be to have the function rnf implemented in the compiler. Its specification would be to evaluate its argument to head normal form and then return it. This is much more convenient to users, since they don't need to implement the boiler-plate code for every data type encountered.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 6.7 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | Unknown |
| Architecture | Unknown |
</details>
<!-- {"blocked_by":[],"summary":"rnf should work for any value or rnf should be implemented in the compiler","status":"New","operating_system":"Unknown","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.7","keywords":[],"differentials":[],"test_case":"","architecture":"Unknown","cc":[""],"type":"FeatureRequest","description":"Currently rnf is implemented in a type class NFData in Control.Parallel.Strategies. This is not general enough, since it doesn't work for values that only exist in a monad. E.g. something built in the ST monad that uses unsafeInterleaveST cannot be converted to head normal form via rnf, since it cannot return a \"Done\" value, only a ST s Done value. \r\n\r\nA solution would be to have the function rnf implemented in the compiler. Its specification would be to evaluate its argument to head normal form and then return it. This is much more convenient to users, since they don't need to implement the boiler-plate code for every data type encountered.","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/1666-Werror aborts too early2019-07-07T19:12:15ZSimon Marlow-Werror aborts too earlyWhen `-Werror` is on, we'd like to see all the warnings before the compilation aborts. At the moment, if a given stage of the compiler generates warnings (e.g. the renamer), we stop right there and don't go on to do further stages, even ...When `-Werror` is on, we'd like to see all the warnings before the compilation aborts. At the moment, if a given stage of the compiler generates warnings (e.g. the renamer), we stop right there and don't go on to do further stages, even though we could. This isn't completely trivial to fix, we need to remember somewhere that warnings were generated earlier, or remember the warnings themselves.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 6.6.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | low |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | Unknown |
| Architecture | Unknown |
</details>
<!-- {"blocked_by":[],"summary":"-Werror aborts too early","status":"New","operating_system":"Unknown","component":"Compiler","related":[],"milestone":"6.10 branch","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.6.1","keywords":[],"differentials":[],"test_case":"","architecture":"Unknown","cc":[""],"type":"Bug","description":"When `-Werror` is on, we'd like to see all the warnings before the compilation aborts. At the moment, if a given stage of the compiler generates warnings (e.g. the renamer), we stop right there and don't go on to do further stages, even though we could. This isn't completely trivial to fix, we need to remember somewhere that warnings were generated earlier, or remember the warnings themselves.","type_of_failure":"OtherFailure","blocking":[]} -->7.2.1Simon MarlowSimon Marlowhttps://gitlab.haskell.org/ghc/ghc/-/issues/1667make install tries to write to /share2019-07-07T19:12:14Ziampure@gmail.commake install tries to write to /shareWith this configure command
`./configure --prefix=$HOME --with-ghc=/usr/bin/ghc-6.6.1 `
(and all the other usual commands) doing make install gives (it tries to write to the /share directory, which should be $HOME/share in my case):
---...With this configure command
`./configure --prefix=$HOME --with-ghc=/usr/bin/ghc-6.6.1 `
(and all the other usual commands) doing make install gives (it tries to write to the /share directory, which should be $HOME/share in my case):
------------------------------------------------------------------------
== Finished recursively making \`install' for ways: p debug thr thr_p thr_debug ...
PWD = /home/foo/haskell/ghc/rts
------------------------------------------------------------------------
------------------------------------------------------------------------
== make install -r;
in /home/foo/haskell/ghc/libraries
------------------------------------------------------------------------
if ifBuildable/ifBuildable base; then \\
cd base && \\
1. ./installPackage/installPackage "" /home/foo $prefix/share/ghc /home/foo/share/doc/ghc/libraries /home/foo/haskell/ghc/utils/ghc-pkg/ghc-pkg-inplace /home/foo/lib/ghc-6.7.20070906/package.conf; \\
fi
installPackage: /share: createDirectory: permission denied (Permission denied)
make\[1\]: \*\*\* \[install.library.base\] Error 1
make: \*\*\* \[install\] Error 1
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 6.7 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | high |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | Unknown |
| Architecture | Unknown |
</details>
<!-- {"blocked_by":[],"summary":"make install tries to write to /share","status":"New","operating_system":"Unknown","component":"Compiler","related":[],"milestone":"6.8 branch","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.7","keywords":[],"differentials":[],"test_case":"","architecture":"Unknown","cc":[""],"type":"Bug","description":"With this configure command \r\n{{{./configure --prefix=$HOME --with-ghc=/usr/bin/ghc-6.6.1 }}}\r\n(and all the other usual commands) doing make install gives (it tries to write to the /share directory, which should be $HOME/share in my case): \r\n\r\n------------------------------------------------------------------------\r\n== Finished recursively making `install' for ways: p debug thr thr_p thr_debug ...\r\nPWD = /home/foo/haskell/ghc/rts\r\n------------------------------------------------------------------------\r\n------------------------------------------------------------------------\r\n== make install -r;\r\n in /home/foo/haskell/ghc/libraries\r\n------------------------------------------------------------------------\r\nif ifBuildable/ifBuildable base; then \\\r\n cd base && \\\r\n ../installPackage/installPackage \"\" /home/foo $prefix/share/ghc /home/foo/share/doc/ghc/libraries /home/foo/haskell/ghc/utils/ghc-pkg/ghc-pkg-inplace /home/foo/lib/ghc-6.7.20070906/package.conf; \\\r\nfi\r\ninstallPackage: /share: createDirectory: permission denied (Permission denied)\r\n\r\nmake[1]: *** [install.library.base] Error 1\r\nmake: *** [install] Error 1","type_of_failure":"OtherFailure","blocking":[]} -->6.8.1https://gitlab.haskell.org/ghc/ghc/-/issues/1669GHCi debugger underlining is in the wrong place2019-07-07T19:12:14ZIan Lynagh <igloo@earth.li>GHCi debugger underlining is in the wrong placeHere's part of the break020 test, in `testsuite/tests/ghc-regress/ghci.debugger/scripts`:
```
% export TERM=vt100
% ../../../../../compiler/stage2/ghc-inplace --interactive
GHCi, version 6.7: http://www.haskell.org/ghc/ :? for help
Loa...Here's part of the break020 test, in `testsuite/tests/ghc-regress/ghci.debugger/scripts`:
```
% export TERM=vt100
% ../../../../../compiler/stage2/ghc-inplace --interactive
GHCi, version 6.7: http://www.haskell.org/ghc/ :? for help
Loading package base ... linking ... done.
Prelude> :l break020.hs
[1 of 2] Compiling Break020b ( Break020b.hs, interpreted )
[2 of 2] Compiling Main ( break020.hs, interpreted )
Ok, modules loaded: Break020b, Main.
*Main> :set stop :list
*Main> :step main
Stopped at break020.hs:(9,7)-(17,1)
_result :: IO () = _
8
9 main = do
^^
10 line1 0
11 line2 0
12 in_another_decl 0
13 in_another_module 0
14 line2 1
15 return ()
16
17
^^
[break020.hs:(9,7)-(17,1)] *Main> :steplocal
Stopped at break020.hs:10:2-8
_result :: IO () = _
9 main = do
10 line1 0
^^^^^^^
11 line2 0
[break020.hs:10:2-8] *Main>
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 6.7 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | GHCi |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | Unknown |
| Architecture | Unknown |
</details>
<!-- {"blocked_by":[],"summary":"GHCi debugger underlining is in the wrong place","status":"New","operating_system":"Unknown","component":"GHCi","related":[],"milestone":"6.8 branch","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.7","keywords":[],"differentials":[],"test_case":"","architecture":"Unknown","cc":[""],"type":"Bug","description":"Here's part of the break020 test, in `testsuite/tests/ghc-regress/ghci.debugger/scripts`:\r\n{{{\r\n% export TERM=vt100\r\n% ../../../../../compiler/stage2/ghc-inplace --interactive\r\nGHCi, version 6.7: http://www.haskell.org/ghc/ :? for help\r\nLoading package base ... linking ... done.\r\nPrelude> :l break020.hs\r\n[1 of 2] Compiling Break020b ( Break020b.hs, interpreted )\r\n[2 of 2] Compiling Main ( break020.hs, interpreted )\r\nOk, modules loaded: Break020b, Main.\r\n*Main> :set stop :list\r\n*Main> :step main\r\nStopped at break020.hs:(9,7)-(17,1)\r\n_result :: IO () = _\r\n8 \r\n9 main = do\r\n ^^\r\n10 line1 0\r\n11 line2 0\r\n12 in_another_decl 0\r\n13 in_another_module 0\r\n14 line2 1\r\n15 return ()\r\n16 \r\n17 \r\n ^^\r\n[break020.hs:(9,7)-(17,1)] *Main> :steplocal\r\nStopped at break020.hs:10:2-8\r\n_result :: IO () = _\r\n9 main = do\r\n10 line1 0\r\n ^^^^^^^\r\n11 line2 0\r\n[break020.hs:10:2-8] *Main> \r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->6.8.1https://gitlab.haskell.org/ghc/ghc/-/issues/1670installPackage: error reading dist/setup-config;2019-07-07T19:12:13Ziampure@gmail.cominstallPackage: error reading dist/setup-config;After
`make clean` the following results:
```
Installing: /home/<>/lib/ghc-6.7.20070907/lib/old-locale-1.0
Registering old-locale-1.0...
Reading package info from "dist/installed-pkg-config" ... done.
Saving old package config file... d...After
`make clean` the following results:
```
Installing: /home/<>/lib/ghc-6.7.20070907/lib/old-locale-1.0
Registering old-locale-1.0...
Reading package info from "dist/installed-pkg-config" ... done.
Saving old package config file... done.
Writing new package config file... done.
if ifBuildable/ifBuildable old-time; then \
cd old-time && \
../installPackage/installPackage "" "/home/<>" "/home/<>/share/ghc-6.7.20070907" "/home/<>/share/doc/ghc/libraries" "/home/<>/haskell/ghc/utils/ghc-pkg/ghc-pkg-inplace" "/home/<>/lib/ghc-6.7.20070907/package.conf" ; \
fi
installPackage: error reading dist/setup-config; run "setup configure" command?
```https://gitlab.haskell.org/ghc/ghc/-/issues/1671Cannot ^C out of certain computations in GHCi2019-07-07T19:12:13Zlepsmith@indiana.eduCannot ^C out of certain computations in GHCi```
___ ___ _
/ _ \ /\ /\/ __(_)
/ /_\// /_/ / / | | GHC Interactive, version 6.6.1, for Haskell 98.
/ /_\\/ __ / /___| | http://www.haskell.org/ghc/
\____/\/ /_/\____/|_| Type :? for help.
Loading packag...```
___ ___ _
/ _ \ /\ /\/ __(_)
/ /_\// /_/ / / | | GHC Interactive, version 6.6.1, for Haskell 98.
/ /_\\/ __ / /___| | http://www.haskell.org/ghc/
\____/\/ /_/\____/|_| Type :? for help.
Loading package base ... linking ... done.
Prelude> let a = 1 : a
Prelude> last a
^C
^C
^C
```https://gitlab.haskell.org/ghc/ghc/-/issues/1672allow the use of import in the interpreter to load new modules2019-07-07T19:12:13Zguestallow the use of import in the interpreter to load new modulesHi,
I'm trying to learn Haskell. One of the little things that bother me is that I can't do the following in the interpreter:
Prelude\> import System.IO
I get the error \<interactive\>:1:0: parse error on input \`import'
The equivale...Hi,
I'm trying to learn Haskell. One of the little things that bother me is that I can't do the following in the interpreter:
Prelude\> import System.IO
I get the error \<interactive\>:1:0: parse error on input \`import'
The equivalent thing is
Prelude\> :module + System.IO
Prelude System.IO\>
In all other interpreted languages that I've used (Python, Ruby, etc) one can easily import new modules using the language constructs already defined by the language.
In python... a simple import Whatever does it. It doesn't make sense to have an interpreter specific command for this.
It may sound like a little thing to you. But for me this is one of the details that make me quit the interpreter and continue working on other tasks rather than learning Haskell.
It would be really nice to if you add this capability in your next release of the interpreter.
Thanks,
Alex
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 6.6.1 |
| 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":"allow the use of import in the interpreter to load new modules","status":"New","operating_system":"","component":"GHCi","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.6.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"FeatureRequest","description":"Hi,\r\n\r\nI'm trying to learn Haskell. One of the little things that bother me is that I can't do the following in the interpreter:\r\n\r\nPrelude> import System.IO\r\n\r\nI get the error <interactive>:1:0: parse error on input `import'\r\n\r\nThe equivalent thing is \r\nPrelude> :module + System.IO\r\n\r\nPrelude System.IO>\r\n\r\n\r\n\r\nIn all other interpreted languages that I've used (Python, Ruby, etc) one can easily import new modules using the language constructs already defined by the language. \r\n\r\nIn python... a simple import Whatever does it. It doesn't make sense to have an interpreter specific command for this.\r\n\r\nIt may sound like a little thing to you. But for me this is one of the details that make me quit the interpreter and continue working on other tasks rather than learning Haskell. \r\n\r\nIt would be really nice to if you add this capability in your next release of the interpreter. \r\n\r\nThanks,\r\nAlex","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/1673Template Haskell support for type families2019-07-07T19:12:12Zg9ks157k@acme.softbase.orgTemplate Haskell support for type familiesWould it be possible to add support for analyzing and generating type family stuff to Template Haskell?
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ----------------...Would it be possible to add support for analyzing and generating type family stuff to Template Haskell?
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ---------------- |
| Version | 6.7 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Template Haskell |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | Linux |
| Architecture | x86 |
</details>
<!-- {"blocked_by":[],"summary":"Template Haskell support for type families","status":"New","operating_system":"Linux","component":"Template Haskell","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.7","keywords":[],"differentials":[],"test_case":"","architecture":"x86","cc":[""],"type":"FeatureRequest","description":"Would it be possible to add support for analyzing and generating type family stuff to Template Haskell?","type_of_failure":"OtherFailure","blocking":[]} -->6.12 branchhttps://gitlab.haskell.org/ghc/ghc/-/issues/1674Install still failing2019-07-07T19:12:12Ziampure@gmail.comInstall still failingmake install still does not complete.
## make install -r;
in /home/\<user\>/haskell/ghc/compiler
------------------------------------------------------------------------
gcc -E -undef -traditional -P -DINSTALLING \\
-DIMPORT_DIR='"/...make install still does not complete.
## make install -r;
in /home/\<user\>/haskell/ghc/compiler
------------------------------------------------------------------------
gcc -E -undef -traditional -P -DINSTALLING \\
-DIMPORT_DIR='"/home/\<user\>/lib/ghc-6.7.20070908/imports"' \\
-DLIB_DIR='"/home/\<user\>/lib/ghc-6.7.20070908"' \\
-DINCLUDE_DIR='"/home/\<user\>/lib/ghc-6.7.20070908/include"' \\
-DDATA_DIR='"/home/\<user\>/share/ghc-6.7.20070908"' \\
-DHTML_DIR='"/home/\<user\>/share/ghc-6.7.20070908/html/libraries/ghc"' \\
-DHADDOCK_IFACE='"/home/\<user\>/share/ghc-6.7.20070908/html/libraries/ghc/ghc.haddock"' \\
-I../includes \\
-x c -DPKG_DEPENDS='hpc bytestring template-haskell readline unix Cabal base haskell98' -DSTAGE='"2"' -I../includes -Iinclude -DPACKAGE=ghc -DVERSION=6.7.20070908 -DPKG_LIBDIR='"/home/\<user\>/lib/ghc-6.7.20070908"' -DPKG_DATADIR='"/home/\<user\>/share/ghc-6.7.20070908"' package.conf.in \\
\| grep -v '\^\#pragma GCC' \\
\| sed -e 's/""//g' -e 's/:\[ \]\*,/: /g' \\
> \| /home/\<user\>/haskell/ghc/utils/ghc-pkg/ghc-pkg-inplace --global-conf /home/\<user\>/lib/ghc-6.7.20070908/package.conf update - --force
Reading package info from stdin ... done.
/home/\<user\>/lib/ghc-6.7.20070908/hslibs-imports/ghc doesn't exist or isn't a directory (ignoring)
cannot find libHSghc.a on library path (ignoring)
Saving old package config file... done.
Writing new package config file... done.
1. ./utils/mkdirhier/mkdirhier /home/\<user\>/bin
1. ./utils/mkdirhier/mkdirhier /home/\<user\>/lib/ghc-6.7.20070908
1. ./utils/mkdirhier/mkdirhier /home/\<user\>/lib/ghc-6.7.20070908
1. ./utils/mkdirhier/mkdirhier /home/\<user\>/share/ghc-6.7.20070908
1. ./compiler/stage1/ghc-inplace -H32m -O2 -istage2/utils -istage2/basicTypes -istage2/types -istage2/hsSyn -istage2/prelude -istage2/rename -istage2/typecheck -istage2/deSugar -istage2/coreSyn -istage2/vectorise -istage2/specialise -istage2/simplCore -istage2/stranal -istage2/stgSyn -istage2/simplStg -istage2/codeGen -istage2/main -istage2/profiling -istage2/parser -istage2/cprAnalysis -istage2/ndpFlatten -istage2/iface -istage2/cmm -istage2/nativeGen -istage2/ghci -Wall -fno-warn-name-shadowing -Istage2 -package hpc -package bytestring -DGHCI -package template-haskell -DGHCI_TABLES_NEXT_TO_CODE -package readline -DUSE_READLINE -cpp -fglasgow-exts -fno-generics -Rghc-timing -I. -Iparser -package unix -package Cabal -ignore-package lang -recomp -Rghc-timing -H16M '-\#include "cutils.h"' -package-name ghc-6.7.20070908 -fgenerics -c ghci/ByteCodeLink.lhs -o stage2/ghci/ByteCodeLink.o -ohi stage2/ghci/ByteCodeLink.hi
ghci/ByteCodeLink.lhs:222:57: Not in scope: `pprPanic'
ghci/ByteCodeLink.lhs:222:78: Not in scope: `ppr'
\<\<ghc: 71364444 bytes, 13 GCs, 2263254/5544140 avg/max bytes residency (3 samples), 18M in use, 0.00 INIT (0.03 elapsed), 0.22 MUT (0.59 elapsed), 0.16 GC (0.97 elapsed) :ghc\>\>
make\[1\]: \*\*\* \[stage2/ghci/ByteCodeLink.o\]
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 6.7 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | high |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | Unknown |
| Architecture | Unknown |
</details>
<!-- {"blocked_by":[],"summary":"Install still failing","status":"New","operating_system":"Unknown","component":"Compiler","related":[],"milestone":"6.8","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.7","keywords":[],"differentials":[],"test_case":"","architecture":"Unknown","cc":[""],"type":"Bug","description":"make install still does not complete.\r\n\r\n== make install -r;\r\n in /home/<user>/haskell/ghc/compiler\r\n------------------------------------------------------------------------\r\ngcc -E -undef -traditional -P -DINSTALLING \\\r\n -DIMPORT_DIR='\"/home/<user>/lib/ghc-6.7.20070908/imports\"' \\\r\n -DLIB_DIR='\"/home/<user>/lib/ghc-6.7.20070908\"' \\\r\n -DINCLUDE_DIR='\"/home/<user>/lib/ghc-6.7.20070908/include\"' \\\r\n -DDATA_DIR='\"/home/<user>/share/ghc-6.7.20070908\"' \\\r\n -DHTML_DIR='\"/home/<user>/share/ghc-6.7.20070908/html/libraries/ghc\"' \\\r\n -DHADDOCK_IFACE='\"/home/<user>/share/ghc-6.7.20070908/html/libraries/ghc/ghc.haddock\"' \\\r\n -I../includes \\\r\n -x c -DPKG_DEPENDS='hpc bytestring template-haskell readline unix Cabal base haskell98' -DSTAGE='\"2\"' -I../includes -Iinclude -DPACKAGE=ghc -DVERSION=6.7.20070908 -DPKG_LIBDIR='\"/home/<user>/lib/ghc-6.7.20070908\"' -DPKG_DATADIR='\"/home/<user>/share/ghc-6.7.20070908\"' package.conf.in \\\r\n | grep -v '^#pragma GCC' \\\r\n | sed -e 's/\"\"//g' -e 's/:[ ]*,/: /g' \\\r\n | /home/<user>/haskell/ghc/utils/ghc-pkg/ghc-pkg-inplace --global-conf /home/<user>/lib/ghc-6.7.20070908/package.conf update - --force\r\nReading package info from stdin ... done.\r\n/home/<user>/lib/ghc-6.7.20070908/hslibs-imports/ghc doesn't exist or isn't a directory (ignoring)\r\ncannot find libHSghc.a on library path (ignoring)\r\nSaving old package config file... done.\r\nWriting new package config file... done.\r\n../utils/mkdirhier/mkdirhier /home/<user>/bin\r\n../utils/mkdirhier/mkdirhier /home/<user>/lib/ghc-6.7.20070908\r\n../utils/mkdirhier/mkdirhier /home/<user>/lib/ghc-6.7.20070908\r\n../utils/mkdirhier/mkdirhier /home/<user>/share/ghc-6.7.20070908\r\n../compiler/stage1/ghc-inplace -H32m -O2 -istage2/utils -istage2/basicTypes -istage2/types -istage2/hsSyn -istage2/prelude -istage2/rename -istage2/typecheck -istage2/deSugar -istage2/coreSyn -istage2/vectorise -istage2/specialise -istage2/simplCore -istage2/stranal -istage2/stgSyn -istage2/simplStg -istage2/codeGen -istage2/main -istage2/profiling -istage2/parser -istage2/cprAnalysis -istage2/ndpFlatten -istage2/iface -istage2/cmm -istage2/nativeGen -istage2/ghci -Wall -fno-warn-name-shadowing -Istage2 -package hpc -package bytestring -DGHCI -package template-haskell -DGHCI_TABLES_NEXT_TO_CODE -package readline -DUSE_READLINE -cpp -fglasgow-exts -fno-generics -Rghc-timing -I. -Iparser -package unix -package Cabal -ignore-package lang -recomp -Rghc-timing -H16M '-#include \"cutils.h\"' -package-name ghc-6.7.20070908 -fgenerics -c ghci/ByteCodeLink.lhs -o stage2/ghci/ByteCodeLink.o -ohi stage2/ghci/ByteCodeLink.hi\r\n\r\nghci/ByteCodeLink.lhs:222:57: Not in scope: `pprPanic'\r\n\r\nghci/ByteCodeLink.lhs:222:78: Not in scope: `ppr'\r\n<<ghc: 71364444 bytes, 13 GCs, 2263254/5544140 avg/max bytes residency (3 samples), 18M in use, 0.00 INIT (0.03 elapsed), 0.22 MUT (0.59 elapsed), 0.16 GC (0.97 elapsed) :ghc>>\r\nmake[1]: *** [stage2/ghci/ByteCodeLink.o]","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/1675Cabal problem during install Edison2019-07-07T19:12:12Ziampure@gmail.comCabal problem during install EdisonDuring installation of Edison(all the files compiled fine), I got:
Setup.hs: COPYRIGHT: copyFile: does not exist (No such file or directory)
This used to work fine with other versions of ghc-6.7.
<details><summary>Trac metadata</summar...During installation of Edison(all the files compiled fine), I got:
Setup.hs: COPYRIGHT: copyFile: does not exist (No such file or directory)
This used to work fine with other versions of ghc-6.7.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 6.7 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | high |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | Unknown |
| Architecture | Unknown |
</details>
<!-- {"blocked_by":[],"summary":"Cabal problem during install Edison","status":"New","operating_system":"Unknown","component":"Compiler","related":[],"milestone":"6.8","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.7","keywords":[],"differentials":[],"test_case":"","architecture":"Unknown","cc":[""],"type":"Bug","description":"During installation of Edison(all the files compiled fine), I got: \r\nSetup.hs: COPYRIGHT: copyFile: does not exist (No such file or directory)\r\n\r\nThis used to work fine with other versions of ghc-6.7.","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/1676Infinite loop2019-07-07T19:12:12Ziampure@gmail.comInfinite loopWhen compiling with -v with a compiler built today, I see:
```
[X of Y] Compiling Foo.Bar ( /home/<user>/Foo/Bar.hs, /home/<user>/Foo/Bar.o )
*** Parser:
*** Renamer/typechecker:
```
There is no progress. It ran about 10 minutes ...When compiling with -v with a compiler built today, I see:
```
[X of Y] Compiling Foo.Bar ( /home/<user>/Foo/Bar.hs, /home/<user>/Foo/Bar.o )
*** Parser:
*** Renamer/typechecker:
```
There is no progress. It ran about 10 minutes before I killed it. Foo.Bar is the last module in the compilation, so it should be just before the link step.https://gitlab.haskell.org/ghc/ghc/-/issues/1677Abysmal error message from `ghc -M`2019-07-07T19:12:12ZSimon Peyton JonesAbysmal error message from `ghc -M````
ghc-6.6.1 -M -cpp Foo.hs Bar.hs
/tmp/ghc9234_0/ghc9234_2.hscpp:1:0:
file name does not match module name `Main'
```
What a terrible message! The source code is this:
`Foo.hs` (note the mis-typed `Module`)
```
Module Foo where
...```
ghc-6.6.1 -M -cpp Foo.hs Bar.hs
/tmp/ghc9234_0/ghc9234_2.hscpp:1:0:
file name does not match module name `Main'
```
What a terrible message! The source code is this:
`Foo.hs` (note the mis-typed `Module`)
```
Module Foo where
f x = x
```
`Bar.hs`
```
module Bar where
import Foo
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 6.6.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | Unknown |
| Architecture | Unknown |
</details>
<!-- {"blocked_by":[],"summary":"Abysmal error message from `ghc -M`","status":"New","operating_system":"Unknown","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.6.1","keywords":[],"differentials":[],"test_case":"","architecture":"Unknown","cc":[""],"type":"Bug","description":"{{{\r\nghc-6.6.1 -M -cpp Foo.hs Bar.hs\r\n/tmp/ghc9234_0/ghc9234_2.hscpp:1:0:\r\n file name does not match module name `Main'\r\n}}}\r\nWhat a terrible message! The source code is this:\r\n\r\n`Foo.hs` (note the mis-typed `Module`)\r\n{{{\r\nModule Foo where\r\n f x = x\r\n}}}\r\n`Bar.hs` \r\n{{{\r\nmodule Bar where\r\n import Foo\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->Simon MarlowSimon Marlow