GHC | 1 Jan 08:00 2011

#4875: ghc misdiagnoses a compile time error concerning parameterized types

#4875: ghc misdiagnoses a compile time error concerning parameterized types
---------------------------------+------------------------------------------
    Reporter:  Stef Joosten      |       Owner:          
        Type:  bug               |      Status:  new     
    Priority:  normal            |   Component:  Compiler
     Version:  6.12.3            |    Keywords:          
    Testcase:                    |   Blockedby:          
          Os:  Windows           |    Blocking:          
Architecture:  Unknown/Multiple  |     Failure:  Other   
---------------------------------+------------------------------------------
 Please find the script HaskellBug.hs at the bottom of this message.
 Here is how to reproduce the behaviour in two steps.

 Step 1: verify that Module HaskellBug produces the following error
 message:

 [1 of 1] Compiling HaskellBug       ( \HaskellBug.hs, interpreted )

 \HaskellBug.hs:12:22:
     `rel' is not applied to enough type arguments
     Expected kind `??', but `rel' has kind `* -> *'
     In the type `rel -> concept'
     In the class declaration for `Association'

 Step 2: remove the definition of class Morphic r c and verify that the
 script is now error free.

 You have now reproduced the symptoms.

 Assessment:
(Continue reading)

GHC | 1 Jan 17:18 2011

Re: #1769: Deriving Typeable for data families

#1769: Deriving Typeable for data families
-------------------------------------------------+--------------------------
  Reporter:  chak                                |          Owner:  chak            
      Type:  task                                |         Status:  closed          
  Priority:  low                                 |      Milestone:  7.0.1           
 Component:  Compiler (Type checker)             |        Version:  6.9             
Resolution:  fixed                               |       Keywords:                  
  Testcase:  indexed-types/should_compile/T1769  |      Blockedby:                  
Difficulty:  Unknown                             |             Os:  Unknown/Multiple
  Blocking:                                      |   Architecture:  Unknown/Multiple
   Failure:  None/Unknown                        |  
-------------------------------------------------+--------------------------

Comment(by mitar):

 Wouldn't it be enough to define?

 {{{
 instance Typeable1 T where
   typeOf1 _ = mkTyConApp (mkTyCon "T") []
 }}}

--

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1769#comment:13>
GHC | 1 Jan 19:27 2011

Re: #4370: Bring back monad comprehensions

#4370: Bring back monad comprehensions
---------------------------------+------------------------------------------
    Reporter:  simonpj           |        Owner:  nsch        
        Type:  feature request   |       Status:  new         
    Priority:  normal            |    Milestone:  7.2.1       
   Component:  Compiler          |      Version:  6.12.3      
    Keywords:                    |     Testcase:              
   Blockedby:                    |   Difficulty:              
          Os:  Unknown/Multiple  |     Blocking:              
Architecture:  Unknown/Multiple  |      Failure:  None/Unknown
---------------------------------+------------------------------------------

Comment(by simonpj):

 I agree about `HsStmtContext`.  However I have another idea to suggest
 about `HsDo`, for you to consider.

 At the moment, the last qualifier in a do-block is pulled out as the
 "body" of the do, so that `HsDo` has two arguments:
  * The `[Stmt]` list
  * The final `HsExpr` which is the "body"
 Now, the last qualifier is a bit special, because it must be an
 expression, not a binding form.  But only a bit. My thought is this:
  * Remove the `HsExpr` field of the `HsDo` constructor; instead that field
 simply becomes the last item in the `[Stmt]`.
  * For do-blocks, insist that the last `Stmt` in the list is an
 `ExprStmt`.  (This could be done in the renamer.)
  * For list comprehensions, add a new `Stmt` constructor, `ReturnStmt`,
 which carries the `return` rebindable-syntax term.  (The one you dislike
 attaching to `HsDo`.)
(Continue reading)

GHC | 2 Jan 07:59 2011

#4876: isEmptySampleVar returns False when threads are waiting on an empty SampleVar

#4876: isEmptySampleVar returns False when threads are waiting on an empty
SampleVar
---------------------------------+------------------------------------------
    Reporter:  guest             |       Owner:                             
        Type:  bug               |      Status:  new                        
    Priority:  normal            |   Component:  libraries/base             
     Version:  7.0.1             |    Keywords:                             
    Testcase:                    |   Blockedby:                             
          Os:  Unknown/Multiple  |    Blocking:                             
Architecture:  Unknown/Multiple  |     Failure:  Incorrect result at runtime
---------------------------------+------------------------------------------
 The source code for Control.Concurrent.SampleVar.isEmptySampleVar:

 {{{
 isEmptySampleVar :: SampleVar a -> IO Bool
 isEmptySampleVar (SampleVar svar) = do
    (readers, _) <- readMVar svar
    return (readers == 0)
 }}}

 should have readers <= 0, as the state readers < 0 is used to indicate the
 SampleVar is empty and has threads waiting on it.

 As an example:

 {{{
 import System.Random
 import Control.Concurrent.SampleVar
 import Control.Concurrent

(Continue reading)

GHC | 2 Jan 10:15 2011

Re: #4865: Deprecate and remove Prelude.catch and System.IO.Error.{catch, try}

#4865: Deprecate and remove Prelude.catch and System.IO.Error.{catch,try}
---------------------------------+------------------------------------------
    Reporter:  igloo             |        Owner:              
        Type:  proposal          |       Status:  new         
    Priority:  normal            |    Milestone:  Not GHC     
   Component:  libraries/base    |      Version:  7.0.1       
    Keywords:                    |     Testcase:              
   Blockedby:                    |   Difficulty:              
          Os:  Unknown/Multiple  |     Blocking:              
Architecture:  Unknown/Multiple  |      Failure:  None/Unknown
---------------------------------+------------------------------------------

Comment(by malcolm.wallace <at> …):

 Prelude.catch is defined in the Haskell Language Report (section 7.3. of
 H'2010)
 I believe this proposal should therefore be a Haskell-prime language
 proposal, rather than a library proposal.

--

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4865#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs <at> haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
GHC | 2 Jan 16:36 2011

Re: #3242: ghci: can't load .so/.DLL for: m (addDLL: could not load DLL)

#3242: ghci: can't load .so/.DLL for: m (addDLL: could not load DLL)
------------------------+---------------------------------------------------
    Reporter:  jeffz1   |        Owner:              
        Type:  bug      |       Status:  new         
    Priority:  normal   |    Component:  GHCi        
     Version:  7.0.1    |   Resolution:              
    Keywords:           |     Testcase:              
   Blockedby:           |   Difficulty:  Unknown     
          Os:  Windows  |     Blocking:              
Architecture:  x86      |      Failure:  None/Unknown
------------------------+---------------------------------------------------
Changes (by jwlato):

  * status:  closed => new
  * failure:  => None/Unknown
  * version:  6.10.2 => 7.0.1
  * resolution:  invalid =>

Comment:

 I'm reopening this because I'm getting the same behavior with ghc-7.0.1
 and the package "ieee-0.7", which also specifies a dependency on "m".

 It appears that libm is distributed as part of the MinGW stuff with ghc; I
 see the file "/e/ghc/ghc-7.0.1/mingw/lib/libm.a".  Compiling with ghc
 passes the flag "-lm" during the linking step and works properly.  It's
 only when using ghci that the library can't be found.  If I install the
 ieee package without the libm dependency programs still build with ghc,
 but ghci complains about missing symbols.

(Continue reading)

GHC | 2 Jan 16:36 2011

Re: #3242: ghci: can't load .so/.DLL for: m (addDLL: could not load DLL)

#3242: ghci: can't load .so/.DLL for: m (addDLL: could not load DLL)
------------------------+---------------------------------------------------
    Reporter:  jeffz1   |        Owner:              
        Type:  bug      |       Status:  new         
    Priority:  normal   |    Component:  GHCi        
     Version:  7.0.1    |   Resolution:              
    Keywords:           |     Testcase:              
   Blockedby:           |   Difficulty:  Unknown     
          Os:  Windows  |     Blocking:              
Architecture:  x86      |      Failure:  None/Unknown
------------------------+---------------------------------------------------
Changes (by jwlato):

 * cc: jwlato <at> … (added)

--

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3242#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs <at> haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
GHC | 2 Jan 19:33 2011

Re: #4865: Deprecate and remove Prelude.catch and System.IO.Error.{catch, try}

#4865: Deprecate and remove Prelude.catch and System.IO.Error.{catch,try}
---------------------------------+------------------------------------------
    Reporter:  igloo             |        Owner:              
        Type:  proposal          |       Status:  new         
    Priority:  normal            |    Milestone:  Not GHC     
   Component:  libraries/base    |      Version:  7.0.1       
    Keywords:                    |     Testcase:              
   Blockedby:                    |   Difficulty:              
          Os:  Unknown/Multiple  |     Blocking:              
Architecture:  Unknown/Multiple  |      Failure:  None/Unknown
---------------------------------+------------------------------------------

Comment(by igloo):

 Replying to [comment:2 malcolm.wallace <at> …]:
 > Prelude.catch is defined in the Haskell Language Report (section 7.3. of
 H'2010)
 > I believe this proposal should therefore be a Haskell-prime language
 proposal, rather than a library proposal.

 I disagree; AFAIK we'll continue to use library proposals for libraries
 like `Data.List` that the standards now describe, so I don't see why
 `Prelude` should be any different.

--

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4865#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
(Continue reading)

GHC | 3 Jan 00:32 2011

Re: #2595: Implement record update for existential and GADT data types

#2595: Implement record update for existential and GADT data types
------------------------------+---------------------------------------------
  Reporter:  simonpj          |          Owner:                  
      Type:  feature request  |         Status:  new             
  Priority:  normal           |      Milestone:  6.12 branch     
 Component:  Compiler         |        Version:  6.8.3           
Resolution:                   |       Keywords:                  
  Testcase:  tc244            |      Blockedby:                  
Difficulty:  Unknown          |             Os:  Unknown/Multiple
  Blocking:                   |   Architecture:  Unknown/Multiple
   Failure:  None/Unknown     |  
------------------------------+---------------------------------------------
Changes (by rampion):

 * cc: noah.easterly <at> … (added)
  * failure:  => None/Unknown
  * status:  closed => new
  * resolution:  fixed =>

Comment:

 Could this be extended to allow updating the non-universally-quantified
 type variables of the data constructor?  The example code still gives the
 error:

     Record update for insufficiently polymorphic field: foo :: a -> a
     In the expression: rec {foo = id}
     In the definition of `f': f rec = rec {foo = id}

 And it'd be nice to be able to update the existentials.
(Continue reading)

GHC | 3 Jan 02:30 2011

Re: #4867: Incorrect result from trig functions

#4867: Incorrect result from trig functions
-------------------------------+--------------------------------------------
    Reporter:  gwright         |        Owner:  gwright                    
        Type:  bug             |       Status:  new                        
    Priority:  high            |    Milestone:  7.0.2                      
   Component:  GHCi            |      Version:  7.0.1                      
    Keywords:                  |     Testcase:                             
   Blockedby:                  |   Difficulty:                             
          Os:  MacOS X         |     Blocking:                             
Architecture:  x86_64 (amd64)  |      Failure:  Incorrect result at runtime
-------------------------------+--------------------------------------------
Changes (by gwright):

  * owner:  => gwright

--

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4867#comment:10>

Gmane