GHC issueshttps://gitlab.haskell.org/ghc/ghc/-/issues2019-07-07T18:52:32Zhttps://gitlab.haskell.org/ghc/ghc/-/issues/6020"Couldn't match kind" with free type variables and PolyKinds2019-07-07T18:52:32Zatnnn"Couldn't match kind" with free type variables and PolyKindsIn the following code, I was hoping that GHC could infer the more specific kind of the free variable y and the class Id in the head of the instance for Test.
Also, the error message is confusing:
- It says that 'True has kind k0 (maybe...In the following code, I was hoping that GHC could infer the more specific kind of the free variable y and the class Id in the head of the instance for Test.
Also, the error message is confusing:
- It says that 'True has kind k0 (maybe it's an impredicative kind?)
- It refers to k0 as a type variable
```
{-# LANGUAGE DataKinds, FunctionalDependencies, FlexibleInstances,
UndecidableInstances, PolyKinds, KindSignatures,
ConstraintKinds, FlexibleContexts #-}
import GHC.Prim (Constraint)
class Id (a :: k) (b :: k) | a -> b
instance Id a a
class Test (x :: a) (y :: a) | x -> y
instance (Id x y, Id y z) => Test x z
test :: Test True True => ()
test = ()
```
```
>>> test
<interactive>:54:1:
Couldn't match kind `k0' with `Bool'
`k0' is an unknown type variable
Kind incompatibility when matching types:
'True :: k0
'True :: Bool
When using functional dependencies to combine
Id k0 a a,
arising from the dependency `a -> b'
in the instance declaration at /home/atnnn/code/type-prelude/testfoldl.hs:8:10
Id Bool 'True 'True,
arising from a use of `test' at <interactive>:54:1-4
In the expression: test
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.5 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"\"Couldn't match kind\" with free type variables and PolyKinds","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.5","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"FeatureRequest","description":"In the following code, I was hoping that GHC could infer the more specific kind of the free variable y and the class Id in the head of the instance for Test.\r\n\r\nAlso, the error message is confusing:\r\n\r\n- It says that 'True has kind k0 (maybe it's an impredicative kind?)\r\n\r\n- It refers to k0 as a type variable\r\n\r\n{{{\r\n\r\n{-# LANGUAGE DataKinds, FunctionalDependencies, FlexibleInstances,\r\n UndecidableInstances, PolyKinds, KindSignatures,\r\n ConstraintKinds, FlexibleContexts #-}\r\n\r\nimport GHC.Prim (Constraint)\r\n\r\nclass Id (a :: k) (b :: k) | a -> b\r\ninstance Id a a\r\n\r\nclass Test (x :: a) (y :: a) | x -> y\r\ninstance (Id x y, Id y z) => Test x z\r\n\r\ntest :: Test True True => ()\r\ntest = ()\r\n}}}\r\n\r\n{{{\r\n>>> test\r\n<interactive>:54:1:\r\n Couldn't match kind `k0' with `Bool'\r\n `k0' is an unknown type variable\r\n Kind incompatibility when matching types:\r\n 'True :: k0\r\n 'True :: Bool\r\n When using functional dependencies to combine\r\n Id k0 a a,\r\n arising from the dependency `a -> b'\r\n in the instance declaration at /home/atnnn/code/type-prelude/testfoldl.hs:8:10\r\n Id Bool 'True 'True,\r\n arising from a use of `test' at <interactive>:54:1-4\r\n In the expression: test\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/6015"No instance" when using PolyKinds/DataKinds/FunDeps/Undecidable2019-07-07T18:52:34Zatnnn"No instance" when using PolyKinds/DataKinds/FunDeps/UndecidableConsider this GHCi session:
```
> value (Proxy :: Proxy (Just True))
No instance for (Value (Maybe Bool) (Just Bool 'True) t0)
> :i Value
instance Value Bool 'True Bool
instance Value k a t => Value (Maybe k) (Just k a) (Maybe t)
> valu...Consider this GHCi session:
```
> value (Proxy :: Proxy (Just True))
No instance for (Value (Maybe Bool) (Just Bool 'True) t0)
> :i Value
instance Value Bool 'True Bool
instance Value k a t => Value (Maybe k) (Just k a) (Maybe t)
> value (Proxy :: Proxy (Just True)) :: Maybe Bool
Just True
```
It would be helpful if GHC could use the instance (which seems suitable) or emit a better error message.
```
{-# LANGUAGE DataKinds, MultiParamTypeClasses, FunctionalDependencies,
PolyKinds, UndecidableInstances, ScopedTypeVariables #-}
data Proxy a = Proxy
class Value a t | a -> t where value :: Proxy a -> t
instance Value True Bool where value _ = True
instance Value a t => Value (Just a) (Maybe t)
where value _ = Just (value (Proxy :: Proxy a))
-- main = print (value (Proxy :: Proxy (Just True)))
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.4.1 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"\"No instance\" when using PolyKinds/DataKinds/FunDeps/Undecidable","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"FeatureRequest","description":"Consider this GHCi session:\r\n\r\n{{{ \r\n> value (Proxy :: Proxy (Just True))\r\nNo instance for (Value (Maybe Bool) (Just Bool 'True) t0)\r\n> :i Value\r\ninstance Value Bool 'True Bool\r\ninstance Value k a t => Value (Maybe k) (Just k a) (Maybe t)\r\n> value (Proxy :: Proxy (Just True)) :: Maybe Bool\r\nJust True\r\n}}}\r\n\r\nIt would be helpful if GHC could use the instance (which seems suitable) or emit a better error message.\r\n\r\n{{{\r\n{-# LANGUAGE DataKinds, MultiParamTypeClasses, FunctionalDependencies,\r\n PolyKinds, UndecidableInstances, ScopedTypeVariables #-}\r\n\r\ndata Proxy a = Proxy\r\nclass Value a t | a -> t where value :: Proxy a -> t\r\ninstance Value True Bool where value _ = True\r\ninstance Value a t => Value (Just a) (Maybe t)\r\n where value _ = Just (value (Proxy :: Proxy a))\r\n\r\n-- main = print (value (Proxy :: Proxy (Just True)))\r\n}}}\r\n","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/6014Crash; message says to report it, here it is.2019-07-07T18:52:35ZguestCrash; message says to report it, here it is.```
Prelude> :cd ~/Dropbox\\classes\\inf212W12\\haskell\\examples\\
Prelude> :load fact2.hs
[1 of 1] Compiling Main ( fact2.hs, interpreted )
Ok, modules loaded: Main.
*Main> fact 42
ghc.exe: internal error: evacuate(st...```
Prelude> :cd ~/Dropbox\\classes\\inf212W12\\haskell\\examples\\
Prelude> :load fact2.hs
[1 of 1] Compiling Main ( fact2.hs, interpreted )
Ok, modules loaded: Main.
*Main> fact 42
ghc.exe: internal error: evacuate(static): strange closure type 36134
(GHC version 7.0.4 for i386_unknown_mingw32)
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
```
-----
fact2.hs is this:
```
fact :: Int -> Int
fact n = if n == 0 then 1 else fact n * (n-1)
```https://gitlab.haskell.org/ghc/ghc/-/issues/6012No warning for Incorrect display of 15! (factorial 15) when type is Int -> Int2019-07-07T18:52:35ZGeorge.AtelierNo warning for Incorrect display of 15! (factorial 15) when type is Int -> IntGHCi version: 7.0.4
Offending function:
factorial :: Int -\> Int
factorial 0 = 1
factorial n = n \* factorial (n-1)
Correct answer is displayed (as expected) when type is
factorial :: Integer -\> Integer
THE BUG IS THE DISPLAY OF A ...GHCi version: 7.0.4
Offending function:
factorial :: Int -\> Int
factorial 0 = 1
factorial n = n \* factorial (n-1)
Correct answer is displayed (as expected) when type is
factorial :: Integer -\> Integer
THE BUG IS THE DISPLAY OF A CORRECT-LOOKING INCORRECT ANSWER THAT RESULTED FROM (UNREPORTED) OVERFLOW OF Int (but not of Integer)
\~\~ Thank you
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.0.4 |
| 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":"No warning for Incorrect display of 15! (factorial 15) when type is Int -> Int","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.0.4","keywords":["Int","Integer","recursion"],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"GHCi version: 7.0.4\r\n\r\nOffending function:\r\n\r\nfactorial :: Int -> Int\r\nfactorial 0 = 1\r\nfactorial n = n * factorial (n-1)\r\n\r\n\r\nCorrect answer is displayed (as expected) when type is\r\n\r\nfactorial :: Integer -> Integer\r\n\r\nTHE BUG IS THE DISPLAY OF A CORRECT-LOOKING INCORRECT ANSWER THAT RESULTED FROM (UNREPORTED) OVERFLOW OF Int (but not of Integer)\r\n\r\n~~ Thank you\r\n\r\n\r\n","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/6009The packaging used to provide GHC 7.0.4 for OS X fails for 32 bit -- cannot i...2019-07-07T18:52:36ZInvisibleTechThe packaging used to provide GHC 7.0.4 for OS X fails for 32 bit -- cannot installI have been using homebrew package manager for OS X 10.5.8 for installing tools like erlang, mongo etc.. At some point I used to be able to install earlier versions of GHC. However, after two days of reinstalling tools, verifying errors ...I have been using homebrew package manager for OS X 10.5.8 for installing tools like erlang, mongo etc.. At some point I used to be able to install earlier versions of GHC. However, after two days of reinstalling tools, verifying errors I filed a report to homebrew:
https://github.com/mxcl/homebrew/issues/11671
The report in I have logged contains every atom of information I could gather and it has been stored at this Git Gist:
https://gist.github.com/0bc9c8aff119527f2ec2
A respondent on the homebrew board was able to reproduce the issue and suggested I contact the GHC team:
https://github.com/mxcl/homebrew/issues/11671\#issuecomment-5140879
He referenced this Stack Overflow link:
http://stackoverflow.com/questions/1440456/static-libraries-in-version-cross-compiled-program
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.0.4 |
| 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":"The packaging used to provide GHC 7.0.4 for OS X fails for 32 bit -- cannot install","status":"New","operating_system":"","component":"None","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.0.4","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"I have been using homebrew package manager for OS X 10.5.8 for installing tools like erlang, mongo etc.. At some point I used to be able to install earlier versions of GHC. However, after two days of reinstalling tools, verifying errors I filed a report to homebrew:\r\n\r\nhttps://github.com/mxcl/homebrew/issues/11671\r\n\r\nThe report in I have logged contains every atom of information I could gather and it has been stored at this Git Gist:\r\n\r\nhttps://gist.github.com/0bc9c8aff119527f2ec2\r\n\r\nA respondent on the homebrew board was able to reproduce the issue and suggested I contact the GHC team:\r\n\r\nhttps://github.com/mxcl/homebrew/issues/11671#issuecomment-5140879\r\n\r\nHe referenced this Stack Overflow link:\r\n\r\nhttp://stackoverflow.com/questions/1440456/static-libraries-in-version-cross-compiled-program","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/6008ghc: panic! (the 'impossible' happened)2019-07-07T18:52:37Zjtbghc: panic! (the 'impossible' happened)Hello,
I get the following output in ghci ordering me to report this bug:
```
Prelude> :load keltis_typedefs.hs
[1 of 1] Compiling Main ( keltis_typedefs.hs, interpreted )
ghc: panic! (the 'impossible' happened)
(GHC vers...Hello,
I get the following output in ghci ordering me to report this bug:
```
Prelude> :load keltis_typedefs.hs
[1 of 1] Compiling Main ( keltis_typedefs.hs, interpreted )
ghc: panic! (the 'impossible' happened)
(GHC version 7.4.1 for x86_64-unknown-linux):
nameModule eq{tv a9U}
```
I'll attach the file I was trying to load (don't laugh, I was just experimenting with Haskell).
Best regards & thank you,
Tobias
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ---------------- |
| Version | 7.4.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | Unknown/Multiple |
</details>
<!-- {"blocked_by":[],"summary":"ghc: panic! (the 'impossible' happened)","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.1","keywords":[],"differentials":[],"test_case":"","architecture":"Unknown/Multiple","cc":[""],"type":"Bug","description":"Hello,\r\n\r\nI get the following output in ghci ordering me to report this bug:\r\n\r\n{{{\r\n\r\nPrelude> :load keltis_typedefs.hs\r\n[1 of 1] Compiling Main ( keltis_typedefs.hs, interpreted )\r\nghc: panic! (the 'impossible' happened)\r\n (GHC version 7.4.1 for x86_64-unknown-linux):\r\n\tnameModule eq{tv a9U}\r\n}}}\r\n\r\nI'll attach the file I was trying to load (don't laugh, I was just experimenting with Haskell).\r\n\r\nBest regards & thank you,\r\n\r\nTobias","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/6005Template Haskell disallows use of promoted data constructor in same splice2019-07-07T18:52:37ZRichard Eisenbergrae@richarde.devTemplate Haskell disallows use of promoted data constructor in same spliceThe following code fails to compile under GHC 7.5.20120413:
```
{-# LANGUAGE TemplateHaskell, DataKinds, PolyKinds #-}
$( [d|
data Nat = Zero | Succ Nat
data Proxy a = Proxy
foo :: Proxy Zero
foo = Proxy
|])
```
The error is...The following code fails to compile under GHC 7.5.20120413:
```
{-# LANGUAGE TemplateHaskell, DataKinds, PolyKinds #-}
$( [d|
data Nat = Zero | Succ Nat
data Proxy a = Proxy
foo :: Proxy Zero
foo = Proxy
|])
```
The error is:
```
The exact Name `Zero_a3N3' is not in scope
Probable cause: you used a unique name (NameU), perhaps via newName,
in Template Haskell, but did not bind it
If that's it, then -ddump-splices might be useful
```
Using `-ddump-splices` shows that the same internal name is used for the data constructor at declaration and usage.
The problem seems to be that a data constructor declared within a splice cannot be used as a promoted type in that same splice. Separating the splices works.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ---------------- |
| Version | 7.5 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Template Haskell |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Template Haskell disallows use of promoted data constructor in same splice","status":"New","operating_system":"","component":"Template Haskell","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.5","keywords":["DataKinds","PolyKinds"],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"The following code fails to compile under GHC 7.5.20120413:\r\n\r\n{{{\r\n{-# LANGUAGE TemplateHaskell, DataKinds, PolyKinds #-}\r\n\r\n$( [d|\r\n data Nat = Zero | Succ Nat\r\n data Proxy a = Proxy\r\n foo :: Proxy Zero\r\n foo = Proxy\r\n |])\r\n}}}\r\n\r\nThe error is:\r\n{{{\r\nThe exact Name `Zero_a3N3' is not in scope\r\n Probable cause: you used a unique name (NameU), perhaps via newName,\r\n in Template Haskell, but did not bind it\r\n If that's it, then -ddump-splices might be useful\r\n}}}\r\n\r\nUsing {{{-ddump-splices}}} shows that the same internal name is used for the data constructor at declaration and usage.\r\n\r\nThe problem seems to be that a data constructor declared within a splice cannot be used as a promoted type in that same splice. Separating the splices works.","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/6003ghci should complain when the user imports non-existent modules2019-07-07T18:52:38Zdagit@codersbase.comghci should complain when the user imports non-existent modulesI was surprised today when I tried to import a module that wasn't installed locally and ghci didn't issue a warning so I assume it loaded. I didn't even notice that the prompt didn't change. I tried to use functions in the module I thoug...I was surprised today when I tried to import a module that wasn't installed locally and ghci didn't issue a warning so I assume it loaded. I didn't even notice that the prompt didn't change. I tried to use functions in the module I thought was imported and that's how I learned it didn't actually succeed at the import.
Here is an example to reproduce what I saw:
```
$ ghci
GHCi, version 7.4.1: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude> import Control.Monad.Pizza
Prelude>
```
Thanks!
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.4.1 |
| 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 complain when the user imports non-existent modules","status":"New","operating_system":"","component":"GHCi","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"I was surprised today when I tried to import a module that wasn't installed locally and ghci didn't issue a warning so I assume it loaded. I didn't even notice that the prompt didn't change. I tried to use functions in the module I thought was imported and that's how I learned it didn't actually succeed at the import.\r\n\r\nHere is an example to reproduce what I saw:\r\n\r\n{{{\r\n$ ghci\r\nGHCi, version 7.4.1: http://www.haskell.org/ghc/ :? for help\r\nLoading package ghc-prim ... linking ... done.\r\nLoading package integer-gmp ... linking ... done.\r\nLoading package base ... linking ... done.\r\nPrelude> import Control.Monad.Pizza\r\nPrelude> \r\n}}}\r\n\r\nThanks!","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/6002GHC 7.4+ thinks class instance is incoherent, 7.0.4 disagrees2019-07-07T18:52:38ZGabor GreifGHC 7.4+ thinks class instance is incoherent, 7.0.4 disagreesLoad this file into GHCi:
http://omega.googlecode.com/svn/mosaic/TypeMachinery.lhs?r=1086
With v7.4 (and HEAD) I get:
```
GHCi, version 7.5.20120410: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... do...Load this file into GHCi:
http://omega.googlecode.com/svn/mosaic/TypeMachinery.lhs?r=1086
With v7.4 (and HEAD) I get:
```
GHCi, version 7.5.20120410: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
[1 of 1] Compiling TypeMachinery ( TypeMachinery.lhs, interpreted )
TypeMachinery.lhs:78:23:
Overlapping instances for Show (Nat' (Plus n n1))
arising from a use of `Hide'
Matching instances:
instance Show (Nat' a) -- Defined at TypeMachinery.lhs:24:3
There exists a (perhaps superclass) match:
from the context (Show (Nat' n))
bound by a pattern with constructor
Hide :: forall (a :: * -> *) n. Show (a n) => a n -> Hidden a,
in an equation for `+'
at TypeMachinery.lhs:78:5-10
or from (Show (Nat' n1))
bound by a pattern with constructor
Hide :: forall (a :: * -> *) n. Show (a n) => a n -> Hidden a,
in an equation for `+'
at TypeMachinery.lhs:78:14-19
(The choice depends on the instantiation of `n, n1'
To pick the first instance above, use -XIncoherentInstances
when compiling the other instance declarations)
In the expression: Hide
In the expression: Hide $ plus a b
In an equation for `+': (Hide a) + (Hide b) = Hide $ plus a b
Failed, modules loaded: none.
```
With 7.0.4 all compiles (and runs) correctly.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.4.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":"GHC 7.4+ thinks class instance is incoherent, 7.0.4 disagrees","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Load this file into GHCi:\r\n\r\nhttp://omega.googlecode.com/svn/mosaic/TypeMachinery.lhs?r=1086\r\n\r\nWith v7.4 (and HEAD) I get:\r\n\r\n{{{\r\nGHCi, version 7.5.20120410: http://www.haskell.org/ghc/ :? for help\r\nLoading package ghc-prim ... linking ... done.\r\nLoading package integer-gmp ... linking ... done.\r\nLoading package base ... linking ... done.\r\n[1 of 1] Compiling TypeMachinery ( TypeMachinery.lhs, interpreted )\r\n\r\nTypeMachinery.lhs:78:23:\r\n Overlapping instances for Show (Nat' (Plus n n1))\r\n arising from a use of `Hide'\r\n Matching instances:\r\n instance Show (Nat' a) -- Defined at TypeMachinery.lhs:24:3\r\n There exists a (perhaps superclass) match:\r\n from the context (Show (Nat' n))\r\n bound by a pattern with constructor\r\n Hide :: forall (a :: * -> *) n. Show (a n) => a n -> Hidden a,\r\n in an equation for `+'\r\n at TypeMachinery.lhs:78:5-10\r\n or from (Show (Nat' n1))\r\n bound by a pattern with constructor\r\n Hide :: forall (a :: * -> *) n. Show (a n) => a n -> Hidden a,\r\n in an equation for `+'\r\n at TypeMachinery.lhs:78:14-19\r\n (The choice depends on the instantiation of `n, n1'\r\n To pick the first instance above, use -XIncoherentInstances\r\n when compiling the other instance declarations)\r\n In the expression: Hide\r\n In the expression: Hide $ plus a b\r\n In an equation for `+': (Hide a) + (Hide b) = Hide $ plus a b\r\nFailed, modules loaded: none.\r\n}}}\r\n\r\nWith 7.0.4 all compiles (and runs) correctly.","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/6000Performance of Fibonnaci compare to Python2019-07-07T18:52:39ZguestPerformance of Fibonnaci compare to PythonThere's a 4 second, unjustified, difference in performance between the following Python fibonacci implementation and it's equivalent Haskell implementation (though the output core seems to be just fine!).
```
-----PYTHON------
def fib(n...There's a 4 second, unjustified, difference in performance between the following Python fibonacci implementation and it's equivalent Haskell implementation (though the output core seems to be just fine!).
```
-----PYTHON------
def fib(n):
one = 0
two = 1
for i in range(0,n):
temp = two
two = one + two
one = temp
return one
if __name__ == "__main__":
print fib(1000000);
```
```
----HASKELL-------
{-# LANGUAGE BangPatterns #-}
fib :: Int -> Integer
fib 0 = 0
fib 1 = 1
fib n = fib' 0 1 2 where
fib' _ y n' | n' > n = y
fib' !x !y !n' = fib' y (x+y) (n'+1)
main = fib 1000000 `seq` return ()
```https://gitlab.haskell.org/ghc/ghc/-/issues/59992.54, 2.552019-07-07T18:52:39ZLuite Stegeman2.54, 2.55The summary contains two separate test cases, GHC 7.4.1.20120406, looks like it's a problem with handling of some literals
```
# ghci
GHCi, version 7.4.1.20120406: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... li...The summary contains two separate test cases, GHC 7.4.1.20120406, looks like it's a problem with handling of some literals
```
# ghci
GHCi, version 7.4.1.20120406: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Prelude> 2.55
*** Exception: divide by zero
Prelude> 2.54
<< gets stuck in infinite lopp >>
```
Lots of other literals also have this problem. The infinite looping version seems to get stuck determining the gcd, gdb backtrace gives this:
```
#0 0x000000010cebf042 in __gmpn_gcd_1 ()
#1 0x000000010ceb8d81 in integer_cmm_gcdIntzh ()
```
dtruss lots of these:
```
sigreturn(0x7FFF6E530220, 0x1E, 0x11104D5C0) = 0 Err#-2
sigreturn(0x7FFF6E530220, 0x1E, 0x7FFF6E530220) = 0 Err#-2
sigreturn(0x7FFF6E530220, 0x1E, 0x11104D5C0) = 0 Err#-2
sigreturn(0x7FFF6E530220, 0x1E, 0x7FFF6E530220) = 0 Err#-2
sigreturn(0x7FFF6E530220, 0x1E, 0x11104D5C0) = 0 Err#-2
sigreturn(0x7FFF6E530220, 0x1E, 0x7FFF6E530220) = 0 Err#-2
sigreturn(0x7FFF6E530220, 0x1E, 0x11104D5C0) = 0 Err#-2
```
The linux version doesn't seem to have this problem.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ---------------- |
| Version | 7.4.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | Unknown/Multiple |
</details>
<!-- {"blocked_by":[],"summary":"2.54, 2.55","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.1","keywords":[],"differentials":[],"test_case":"","architecture":"Unknown/Multiple","cc":[""],"type":"Bug","description":"The summary contains two separate test cases, GHC 7.4.1.20120406, looks like it's a problem with handling of some literals\r\n\r\n\r\n{{{\r\n# ghci\r\nGHCi, version 7.4.1.20120406: http://www.haskell.org/ghc/ :? for help\r\nLoading package ghc-prim ... linking ... done.\r\nLoading package integer-gmp ... linking ... done.\r\nLoading package base ... linking ... done.\r\nPrelude> 2.55\r\n*** Exception: divide by zero\r\nPrelude> 2.54\r\n<< gets stuck in infinite lopp >>\r\n}}}\r\n\r\n\r\nLots of other literals also have this problem. The infinite looping version seems to get stuck determining the gcd, gdb backtrace gives this:\r\n\r\n{{{\r\n#0 0x000000010cebf042 in __gmpn_gcd_1 ()\r\n#1 0x000000010ceb8d81 in integer_cmm_gcdIntzh ()\r\n}}}\r\n\r\ndtruss lots of these:\r\n\r\n{{{\r\nsigreturn(0x7FFF6E530220, 0x1E, 0x11104D5C0)\t\t = 0 Err#-2\r\nsigreturn(0x7FFF6E530220, 0x1E, 0x7FFF6E530220)\t\t = 0 Err#-2\r\nsigreturn(0x7FFF6E530220, 0x1E, 0x11104D5C0)\t\t = 0 Err#-2\r\nsigreturn(0x7FFF6E530220, 0x1E, 0x7FFF6E530220)\t\t = 0 Err#-2\r\nsigreturn(0x7FFF6E530220, 0x1E, 0x11104D5C0)\t\t = 0 Err#-2\r\nsigreturn(0x7FFF6E530220, 0x1E, 0x7FFF6E530220)\t\t = 0 Err#-2\r\nsigreturn(0x7FFF6E530220, 0x1E, 0x11104D5C0)\t\t = 0 Err#-2\r\n}}}\r\n\r\nThe linux version doesn't seem to have this problem.","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/5997GHC fails to make function tail recursive2019-07-07T18:52:40ZKhudyakovGHC fails to make function tail recursiveSometimes GHC does not compile function as tail recursive despite it looks like tail recursive. Here is simplified example.
```
{-# LANGUAGE BangPatterns #-}
incompleteBetaWorker :: Double -> Double
incompleteBetaWorker _ = loop 1 1 1 ...Sometimes GHC does not compile function as tail recursive despite it looks like tail recursive. Here is simplified example.
```
{-# LANGUAGE BangPatterns #-}
incompleteBetaWorker :: Double -> Double
incompleteBetaWorker _ = loop 1 1 1 1
where
-- Constants
eps = 1e-15
-- Loop
loop :: Double -> Int -> Double -> Double -> Double
loop !psq !ns !term !betain
| done = betain'
| otherwise = loop psq' (ns - 1) term' betain'
where
-- New values
term' = term
betain' = betain
psq' = if ns < 0 then psq + 1 else psq
-- This condition cause stack overflow
done = db <= eps && db <= eps*betain' where db = abs term'
-- With this it loops endlessly
-- done = db <= eps * betain' where db = abs term'
main :: IO ()
main = print $ incompleteBetaWorker 0
```
If second equation for done is used function is tail recursive and works in constant space. if first one (uncommented) is used it isn't. From looking at the it looks loop is converted to several corecursive functions.
Such loops appear frequently in numerical code and it's important to ensure that worker function is tail recursive since getting answer may require a lot of iteration.
I've tested it with GHC 7.2.2 and 7.4.1. Both are affected. Example was compiled with -O2.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.4.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":"GHC fails to make function tail recursive","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Sometimes GHC does not compile function as tail recursive despite it looks like tail recursive. Here is simplified example. \r\n\r\n{{{\r\n{-# LANGUAGE BangPatterns #-}\r\n\r\nincompleteBetaWorker :: Double -> Double\r\nincompleteBetaWorker _ = loop 1 1 1 1\r\n where\r\n -- Constants\r\n eps = 1e-15\r\n -- Loop\r\n loop :: Double -> Int -> Double -> Double -> Double\r\n loop !psq !ns !term !betain\r\n | done = betain'\r\n | otherwise = loop psq' (ns - 1) term' betain'\r\n where\r\n -- New values\r\n term' = term\r\n betain' = betain\r\n psq' = if ns < 0 then psq + 1 else psq\r\n -- This condition cause stack overflow\r\n done = db <= eps && db <= eps*betain' where db = abs term'\r\n -- With this it loops endlessly\r\n -- done = db <= eps * betain' where db = abs term'\r\n\r\nmain :: IO ()\r\nmain = print $ incompleteBetaWorker 0\r\n}}}\r\n\r\nIf second equation for done is used function is tail recursive and works in constant space. if first one (uncommented) is used it isn't. From looking at the it looks loop is converted to several corecursive functions.\r\n\r\nSuch loops appear frequently in numerical code and it's important to ensure that worker function is tail recursive since getting answer may require a lot of iteration. \r\n\r\n\r\nI've tested it with GHC 7.2.2 and 7.4.1. Both are affected. Example was compiled with -O2.","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/5995http://wiki.barrelfish.org/Getting_Started#ghcInstall ...2019-07-07T18:52:40Zguesthttp://wiki.barrelfish.org/Getting_Started#ghcInstall is what i tried to dohake: panic! (the 'impossible' happened)
> (GHC version 6.10.4 for x86_64-unknown-linux):
Could not find module \`HakeTypes':
<details><summary>Trac metadata</summary>
| Trac field | Value |
| --------------------...hake: panic! (the 'impossible' happened)
> (GHC version 6.10.4 for x86_64-unknown-linux):
Could not find module \`HakeTypes':
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 6.10.4 |
| 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":"http://wiki.barrelfish.org/Getting_Started#ghcInstall is what i tried to do","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"6.10.4","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"hake: panic! (the 'impossible' happened)\r\n (GHC version 6.10.4 for x86_64-unknown-linux):\r\n\tCould not find module `HakeTypes':\r\n","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/5994Consider adding a flag to ghc's configure to automatically bootstrap and inst...2019-07-07T18:52:40Ztd123Consider adding a flag to ghc's configure to automatically bootstrap and install cabal-install along with ghcThe current situation is this:
ghc 7.4.1 includes cabal-install with its source archive.
Installing the cabal-install from the ghc 7.4.1 source archive does not work with ghc 7.4.1 because of incompatible dependencies.
This is most likel...The current situation is this:
ghc 7.4.1 includes cabal-install with its source archive.
Installing the cabal-install from the ghc 7.4.1 source archive does not work with ghc 7.4.1 because of incompatible dependencies.
This is most likely the same issue as described in \[0\].
There are also 2 custom cabal-installs in hackage cabal-install-ghc72 and cabal-install-ghc74 to workaround incompatibilities with new ghc versions and cabal-install.
There has been a proposal\[1\] to include cabal-install in ghc before, but it was closed for 6.10.1 as wont fix. 6.10.1 also didn't include cabal-install. For some reason cabal-install is now in the latest stable ghc 7.4.1 sources.
Given that cabal-install is included with the ghc source, I would like to propose for there to be an option to get cabal-install installed alongside ghc automatically. This would lower the barrier to install the haskell package installer, and this would ensure that things like the current situation would get more attention before there is a new stable release of ghc and it would hopefully never happen again.
The change could possibly be in the form of a configure flag for ghc (e.g. --enable-cabal-install).
I know this is a controversial proposal so hopefully there could be a discussion about the feasibility and benefits of this request.
\[0\] - http://haskell.1045720.n5.nabble.com/ANNOUNCE-GHC-7-4-1-Release-Candidate-2-td5437004i20.html
\[1\] - http://hackage.haskell.org/trac/ghc/ticket/2385
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.4.1 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Build System |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Consider adding a flag to ghc's configure to automatically bootstrap and install cabal-install along with ghc","status":"New","operating_system":"","component":"Build System","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"FeatureRequest","description":"The current situation is this:\r\nghc 7.4.1 includes cabal-install with its source archive.\r\nInstalling the cabal-install from the ghc 7.4.1 source archive does not work with ghc 7.4.1 because of incompatible dependencies.\r\nThis is most likely the same issue as described in [0].\r\nThere are also 2 custom cabal-installs in hackage cabal-install-ghc72 and cabal-install-ghc74 to workaround incompatibilities with new ghc versions and cabal-install.\r\n\r\nThere has been a proposal[1] to include cabal-install in ghc before, but it was closed for 6.10.1 as wont fix. 6.10.1 also didn't include cabal-install. For some reason cabal-install is now in the latest stable ghc 7.4.1 sources.\r\n\r\nGiven that cabal-install is included with the ghc source, I would like to propose for there to be an option to get cabal-install installed alongside ghc automatically. This would lower the barrier to install the haskell package installer, and this would ensure that things like the current situation would get more attention before there is a new stable release of ghc and it would hopefully never happen again.\r\n\r\nThe change could possibly be in the form of a configure flag for ghc (e.g. --enable-cabal-install).\r\n\r\nI know this is a controversial proposal so hopefully there could be a discussion about the feasibility and benefits of this request.\r\n\r\n[0] - http://haskell.1045720.n5.nabble.com/ANNOUNCE-GHC-7-4-1-Release-Candidate-2-td5437004i20.html\r\n\r\n[1] - http://hackage.haskell.org/trac/ghc/ticket/2385","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/5990Malformed instance declaration produces panic2019-07-07T18:52:41ZChrisNMalformed instance declaration produces panicThe following code produces a panic with 7.5:
```
module Test where
class F a b where
f :: a b Int
instance F -> b where
f _ = 1
```
whereas this code works as expected:
```
{-# LANGUAGE MultiParamTypeClasses , FlexibleIns...The following code produces a panic with 7.5:
```
module Test where
class F a b where
f :: a b Int
instance F -> b where
f _ = 1
```
whereas this code works as expected:
```
{-# LANGUAGE MultiParamTypeClasses , FlexibleInstances#-}
module Test where
class F a b where
f :: a b Int
instance F (->) b where
f _ = 1
```
GHC 7.2.2 correctly identifies this as a malformed instance header.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ----------------- |
| Version | 7.5 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler (Parser) |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Malformed instance declaration produces panic","status":"New","operating_system":"","component":"Compiler (Parser)","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.5","keywords":[",","RnSource","instance","malformed","pars,","renamer,"],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"The following code produces a panic with 7.5:\r\n{{{\r\nmodule Test where \r\n\r\nclass F a b where\r\n\tf :: a b Int \r\n\r\ninstance F -> b where\r\n\tf _ = 1\r\n\t\r\n\t\r\n}}}\r\n\r\nwhereas this code works as expected: \r\n\r\n\r\n{{{\r\n{-# LANGUAGE MultiParamTypeClasses , FlexibleInstances#-}\r\nmodule Test where \r\n\t\r\nclass F a b where\r\n\tf :: a b Int \r\n\r\ninstance F (->) b where\r\n\tf _ = 1\r\n\t\r\n}}}\r\n\r\nGHC 7.2.2 correctly identifies this as a malformed instance header. \r\n","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/5989Haddock reports wrong safe haskell mode2019-07-07T18:52:42ZdtereiHaddock reports wrong safe haskell modeWith the changes in 7.4.1 to safe haskell for it to do inference, haddock no longer correctly reports the safe haskell mode of a module.
Basically it will report modules as being 'safe-infered' even when they fail. This is as in 7.2 the...With the changes in 7.4.1 to safe haskell for it to do inference, haddock no longer correctly reports the safe haskell mode of a module.
Basically it will report modules as being 'safe-infered' even when they fail. This is as in 7.2 the starting mode of safe haskell was the finishing mode. In 7.4 its now mutable state. The GHC API doesn't handle this properly.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.4.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":"Haddock reports wrong safe haskell mode","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"With the changes in 7.4.1 to safe haskell for it to do inference, haddock no longer correctly reports the safe haskell mode of a module.\r\n\r\nBasically it will report modules as being 'safe-infered' even when they fail. This is as in 7.2 the starting mode of safe haskell was the finishing mode. In 7.4 its now mutable state. The GHC API doesn't handle this properly.","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/5988Safe Haskell doesn't report all reasons why safe inference fails2019-07-07T18:52:42ZdtereiSafe Haskell doesn't report all reasons why safe inference failsWhen using `-fwarn-unsafe` to report why safe inference has failed Safe Haskell doesn't report bad language extensions.
e.g this program is unsafe due to the use of Template Haskell:
```
{-# LANGUAGE TemplateHaskell #-}
{-# OPTIONS_GHC...When using `-fwarn-unsafe` to report why safe inference has failed Safe Haskell doesn't report bad language extensions.
e.g this program is unsafe due to the use of Template Haskell:
```
{-# LANGUAGE TemplateHaskell #-}
{-# OPTIONS_GHC -fwarn-unsafe #-}
module A where
a :: Int
a = 1
```
but the output is:
```
UnsafeInfered.hs:2:16: Warning:
`UnsafeInfered' has been infered as unsafe!
Reason:
```
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.4.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":"Safe Haskell doesn't report all reasons why safe inference fails","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"OwnedBy","contents":"dterei"},"version":"7.4.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"When using `-fwarn-unsafe` to report why safe inference has failed Safe Haskell doesn't report bad language extensions.\r\n\r\ne.g this program is unsafe due to the use of Template Haskell:\r\n{{{\r\n{-# LANGUAGE TemplateHaskell #-}\r\n{-# OPTIONS_GHC -fwarn-unsafe #-}\r\nmodule A where\r\n\r\na :: Int\r\na = 1\r\n}}}\r\n\r\nbut the output is:\r\n{{{\r\nUnsafeInfered.hs:2:16: Warning:\r\n `UnsafeInfered' has been infered as unsafe!\r\n Reason:\r\n}}}","type_of_failure":"OtherFailure","blocking":[]} -->dtereidtereihttps://gitlab.haskell.org/ghc/ghc/-/issues/5986HSQL won't install: missing FlexibleInstances2019-07-07T18:52:42Zvolker-wyskHSQL won't install: missing FlexibleInstancesThere is a "FlexibleInstances" entry needed, in hsql.cabal's "extensions" field. Otherwise, it won't compile.
I'm talking about hsql-1.8.1.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---...There is a "FlexibleInstances" entry needed, in hsql.cabal's "extensions" field. Otherwise, it won't compile.
I'm talking about hsql-1.8.1.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ----------------- |
| Version | 7.4.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | libraries (other) |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"HSQL won't install: missing FlexibleInstances","status":"New","operating_system":"","component":"libraries (other)","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"There is a \"FlexibleInstances\" entry needed, in hsql.cabal's \"extensions\" field. Otherwise, it won't compile.\r\n\r\nI'm talking about hsql-1.8.1.","type_of_failure":"OtherFailure","blocking":[]} -->https://gitlab.haskell.org/ghc/ghc/-/issues/5984TH: newtypes are converted to datas2019-07-07T18:52:43Zmikhail.vorozhtsovTH: newtypes are converted to datasCommit b857c8ad367877f424b5fca50bd45199f39f86c7 has a typo in `cvtDec` that causes a `NewtypeD` to be translated to `TyData` with `tc_ND=DataType` instead of `NewType`. Trivial fix attached.
<details><summary>Trac metadata</summary>
| ...Commit b857c8ad367877f424b5fca50bd45199f39f86c7 has a typo in `cvtDec` that causes a `NewtypeD` to be translated to `TyData` with `tc_ND=DataType` instead of `NewType`. Trivial fix attached.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | ------------ |
| Version | 7.5 |
| 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":"TH: newtypes are converted to datas","status":"New","operating_system":"","component":"Compiler","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.5","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"Commit b857c8ad367877f424b5fca50bd45199f39f86c7 has a typo in `cvtDec` that causes a `NewtypeD` to be translated to `TyData` with `tc_ND=DataType` instead of `NewType`. Trivial fix attached.","type_of_failure":"OtherFailure","blocking":[]} -->pcapriottipcapriottihttps://gitlab.haskell.org/ghc/ghc/-/issues/5983Libraries installed in wrong place2019-07-07T18:52:43Zr0mlLibraries installed in wrong placeAll of the installed libraries are placed in /Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/lib/ghc-7.4.1 by the installation package.
However, all of the dylib files report an otool -D of the form /usr/local/lib/ghc-7.4.1/...All of the installed libraries are placed in /Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/lib/ghc-7.4.1 by the installation package.
However, all of the dylib files report an otool -D of the form /usr/local/lib/ghc-7.4.1/...
The workaround is to create a link from /usr/local/lib/ghc-7.4.1 to /Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/lib/ghc-7.4.1
However, the installer should either create this link, or (better) invoke otool -id as part of the installation process and set the correct dylib path for all the dylibs.
<details><summary>Trac metadata</summary>
| Trac field | Value |
| ---------------------- | -------------- |
| Version | 7.4.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | libraries/base |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture | |
</details>
<!-- {"blocked_by":[],"summary":"Libraries installed in wrong place","status":"New","operating_system":"","component":"libraries/base","related":[],"milestone":"","resolution":"Unresolved","owner":{"tag":"Unowned"},"version":"7.4.1","keywords":[],"differentials":[],"test_case":"","architecture":"","cc":[""],"type":"Bug","description":"All of the installed libraries are placed in /Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/lib/ghc-7.4.1 by the installation package.\r\n\r\nHowever, all of the dylib files report an otool -D of the form /usr/local/lib/ghc-7.4.1/...\r\n\r\nThe workaround is to create a link from /usr/local/lib/ghc-7.4.1 to /Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/lib/ghc-7.4.1\r\n\r\nHowever, the installer should either create this link, or (better) invoke otool -id as part of the installation process and set the correct dylib path for all the dylibs.\r\n","type_of_failure":"OtherFailure","blocking":[]} -->Edward KmettEdward Kmett