GHC | 1 Jun 2012 10:37
Favicon

#6137: Different behaviour between a GADT and a data family with regards to kind unification

#6137: Different behaviour between a GADT and a data family with regards to kind
unification
------------------------------+---------------------------------------------
 Reporter:  dreixel           |          Owner:                         
     Type:  bug               |         Status:  new                    
 Priority:  normal            |      Component:  Compiler (Type checker)
  Version:  7.5               |       Keywords:  PolyKinds              
       Os:  Unknown/Multiple  |   Architecture:  Unknown/Multiple       
  Failure:  None/Unknown      |       Testcase:                         
Blockedby:                    |       Blocking:                         
  Related:                    |  
------------------------------+---------------------------------------------
 We have discussed this before, but I don't remember if this was classified
 as a bug or as a "known feature" of GADTs. Given the following code:
 {{{
 {-# LANGUAGE DataKinds #-}
 {-# LANGUAGE PolyKinds #-}
 {-# LANGUAGE KindSignatures #-}
 {-# LANGUAGE TypeFamilies #-}
 {-# LANGUAGE GADTs #-}

 data Sum a b = L a | R b

 data Sum1 (a :: k1 -> *) (b :: k2 -> *) :: Sum k1 k2 -> * where
   LL :: a i -> Sum1 a b (L i)
   RR :: b i -> Sum1 a b (R i)

 data Code i o = F (Code (Sum i o) o)
 }}}

(Continue reading)

GHC | 1 Jun 2012 14:26
Favicon

Re: #6133: bad error message when incorrect format package db is supplied

#6133: bad error message when incorrect format package db is supplied
---------------------------------+------------------------------------------
    Reporter:  gfxmonk           |       Owner:  pcapriotti        
        Type:  bug               |      Status:  new               
    Priority:  normal            |   Milestone:                    
   Component:  ghc-pkg           |     Version:  7.0.4             
    Keywords:                    |          Os:  Unknown/Multiple  
Architecture:  Unknown/Multiple  |     Failure:  Compile-time crash
  Difficulty:  Unknown           |    Testcase:                    
   Blockedby:                    |    Blocking:                    
     Related:                    |  
---------------------------------+------------------------------------------
Changes (by pcapriotti):

  * owner:  => pcapriotti
  * difficulty:  => Unknown

--

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/6133#comment:4>
GHC | 2 Jun 2012 02:59
Favicon

Re: #4148: improve new recursive do syntax

#4148: improve new recursive do syntax
---------------------------------+------------------------------------------
    Reporter:  guest             |       Owner:                  
        Type:  feature request   |      Status:  new             
    Priority:  low               |   Milestone:  7.6.1           
   Component:  Compiler          |     Version:  6.12.3          
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:                    |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------

Comment(by ryani):

 I would suggest never doing dependency analysis with rec (I was actually
 unaware that this happened and thought that was the whole point of
 migrating to 'rec' over 'mdo').

 I second the suggestion that we translate

     {{{ do { ... ; rec { ...; e } } }}}

 (i.e. 'rec' as the last statement in a do block) into

     {{{ do { ... ; rec { ...; fresh <- e} ; return fresh } }}}

 And translate

     {{{ do rec { ... } }}}
(Continue reading)

GHC | 2 Jun 2012 04:33
Favicon

Re: #6114: ghc: panic! occurred with use of isInstance, newName and a type splice

#6114: ghc: panic! occurred with use of isInstance, newName and a type splice
--------------------------------+-------------------------------------------
 Reporter:  davidmiani          |          Owner:                  
     Type:  bug                 |         Status:  new             
 Priority:  normal              |      Component:  Template Haskell
  Version:  7.4.1               |       Keywords:                  
       Os:  MacOS X             |   Architecture:  x86_64 (amd64)  
  Failure:  Compile-time crash  |       Testcase:                  
Blockedby:                      |       Blocking:                  
  Related:                      |  
--------------------------------+-------------------------------------------

Comment(by guest):

 I simplified the testcase, the problem is with newName, not the higher
 kind.

 {{{
 {-# LANGUAGE TemplateHaskell #-}
 module Test where
 import Language.Haskell.TH

 instanceVar = $(do
                  xName <- newName "x"
                  instanceType <- [t| $(varT xName) |]
                  _ <- reifyInstances ''Eq [instanceType]
                  undefined
                )
 }}}

(Continue reading)

GHC | 2 Jun 2012 09:51
Favicon

Re: #4148: improve new recursive do syntax

#4148: improve new recursive do syntax
---------------------------------+------------------------------------------
    Reporter:  guest             |       Owner:                  
        Type:  feature request   |      Status:  new             
    Priority:  low               |   Milestone:  7.6.1           
   Component:  Compiler          |     Version:  6.12.3          
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:                    |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------

Comment(by lerkok):

 Apologies for the rather long comment below. It's my personal view and I'm
 probably a bit biased towards the very original translation of mdo-
 expressions for historical reasons. I'm hoping others will find it useful
 in shedding some light onto at least the original motivations for the
 segmentation aspect of mdo, which seems to be the main source of
 discontent here..

 Segmentation was part of the very original transformation proposed for mdo
 expressions for a very simple reason: The right-shrinking property of mfix
 only holds for very few monads of practical interest. Without right-
 shrinking, the knot-tying loop implied by mfix cannot be loosened on the
 right without changing termination properties. This aspect is well studied
 in the literature: In fact, there's a very generic theorem stating that no
 monad based on a disjoint sum type admits a value recursion operator that
 satisfies the right-shrinking property. (See proposition 3.1.6 of
(Continue reading)

GHC | 2 Jun 2012 15:59
Favicon

Re: #3160: No exception safety in Control.Concurrent.QSem QSemN and SampleVar

#3160: No exception safety in Control.Concurrent.QSem QSemN and SampleVar
------------------------------------------+---------------------------------
  Reporter:  ChrisKuklewicz               |          Owner:                  
      Type:  bug                          |         Status:  new             
  Priority:  normal                       |      Milestone:  7.6.1           
 Component:  libraries/base               |        Version:  7.0.2           
Resolution:                               |       Keywords:                  
        Os:  Unknown/Multiple             |   Architecture:  Unknown/Multiple
   Failure:  Incorrect result at runtime  |     Difficulty:  Unknown         
  Testcase:                               |      Blockedby:                  
  Blocking:                               |        Related:                  
------------------------------------------+---------------------------------

Comment(by ChrisKuklewicz):

 I have updated SafeSemaphore to 0.9.0 on hackage and git,
 http://github.com/ChrisKuklewicz/SafeSemaphore

 I have done several different things with this release:

 There is a new Control.Concurrent.SSem module based on STM that is dead
 simple and replaces QSem and QSemN.  I have not made a SampleVar
 replacement with STM yet.  The raw STM version is in
 Control.Concurrent.STM.SSem.  This does guarantee FIFO operation and so
 has different starvation possibilities, especially with big and small
 requests to waitN.

 The MSem.hs file is now a literate MSem.lhs file.  This has much more
 elaborate comments discussing how the invariants are maintained.  The
 uninteruptableMask_ is only being used for the quick signal operation to
(Continue reading)

GHC | 2 Jun 2012 19:41
Favicon

Re: #5612: Better support for kinds in Template Haskell

#5612: Better support for kinds in Template Haskell
-------------------------------+--------------------------------------------
  Reporter:  guest             |          Owner:  lunaris                   
      Type:  feature request   |         Status:  closed                    
  Priority:  low               |      Milestone:  7.6.1                     
 Component:  Compiler          |        Version:  7.3                       
Resolution:  fixed             |       Keywords:  PolyKinds, TemplateHaskell
        Os:  Unknown/Multiple  |   Architecture:  Unknown/Multiple          
   Failure:  Other             |     Difficulty:  Unknown                   
  Testcase:                    |      Blockedby:                            
  Blocking:                    |        Related:                            
-------------------------------+--------------------------------------------

Comment(by goldfire):

 The current implementation of this feature has a constructor
 {{{PromotedT}}} used to denote a promoted data constructor used as a type.
 However, if the {{{Name}}} passed to this constructor is created with
 {{{mkName}}} and is ambiguous (because both a native type and data
 constructor exist with the same name), the {{{PromotedT}}} behaves just
 like a {{{ConT}}}.

 The one-line patch I will post shortly fixes this problem, defaulting
 {{{PromotedT}}} to use the promoted data constructor. The behavior of
 unambiguous {{{PromotedT}}}s is unaffected.

--

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5612#comment:25>
GHC | 3 Jun 2012 21:17
Favicon

#6138: GHCI Startup Crash with HP 2012.2.0.0 on 64bit OS X 10.6

#6138: GHCI Startup Crash with HP 2012.2.0.0 on 64bit OS X 10.6
--------------------------+-------------------------------------------------
 Reporter:  MtnViewMark   |          Owner:                
     Type:  bug           |         Status:  new           
 Priority:  normal        |      Component:  Runtime System
  Version:  7.4.1         |       Keywords:                
       Os:  MacOS X       |   Architecture:  x86_64 (amd64)
  Failure:  None/Unknown  |       Testcase:                
Blockedby:                |       Blocking:                
  Related:                |  
--------------------------+-------------------------------------------------
 This is a migration of [http://trac.haskell.org/haskell-
 platform/ticket/199 HP ticket #199]:

 Installation of the HP appears to have succeeded and things seem to
 compile and work fine, but GHCI frequently crashes on startup. Here:

 {{{
 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.
 Segmentation fault
 }}}

 There's a 2-3 second delay between the last message and the segfault.
 Trying to invoke GHCI a couple of times eventually succeeds and results in
 a working REPL. I have reproduced this on two machines that ran the
 previous version just fine.

(Continue reading)

GHC | 3 Jun 2012 21:24
Favicon

Re: #6138: GHCI Startup Crash with HP 2012.2.0.0 on 64bit OS X 10.6

#6138: GHCI Startup Crash with HP 2012.2.0.0 on 64bit OS X 10.6
-----------------------------+----------------------------------------------
  Reporter:  MtnViewMark     |          Owner:                
      Type:  bug             |         Status:  closed        
  Priority:  normal          |      Milestone:                
 Component:  Runtime System  |        Version:  7.4.1         
Resolution:  wontfix         |       Keywords:                
        Os:  MacOS X         |   Architecture:  x86_64 (amd64)
   Failure:  None/Unknown    |     Difficulty:  Unknown       
  Testcase:                  |      Blockedby:                
  Blocking:                  |        Related:                
-----------------------------+----------------------------------------------
Changes (by igloo):

  * status:  new => closed
  * difficulty:  => Unknown
  * resolution:  => wontfix

Comment:

 Thanks for the report, but I think XCode 3.2.6 is too old.
 http://www.haskell.org/ghc/download_ghc_7_4_1#macosx_x86_64 says you need
 4.1 to use our binaries.

--

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/6138#comment:1>
GHC | 4 Jun 2012 02:02
Favicon

#6139: Data.Time.Day read instance too liberal

#6139: Data.Time.Day read instance too liberal
-----------------------------------------+----------------------------------
 Reporter:  guest                        |          Owner:                  
     Type:  bug                          |         Status:  new             
 Priority:  normal                       |      Component:  libraries/base  
  Version:  7.0.3                        |       Keywords:                  
       Os:  Unknown/Multiple             |   Architecture:  Unknown/Multiple
  Failure:  Incorrect result at runtime  |       Testcase:                  
Blockedby:                               |       Blocking:                  
  Related:                               |  
-----------------------------------------+----------------------------------
 Prelude Data.Time> read "0001-22-01" :: Day
 0001-12-01

 Obviously, this should be a parse error.

--

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/6139>

Gmane