Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
Source project has a limited visibility.
  • Mario's avatar
    fa0dbaca
    Implements the Exportable Named Default proposal (#24305) · fa0dbaca
    Mario authored and Mario's avatar Mario committed
    This squashed commit adds support for exportable named defaults, the accepted
    GHC proposal at https://github.com/ghc-proposals/ghc-proposals/pull/409
    
    The proposal extends the Haskell '98 declarations
    
        default (Int, Double)
    
    which were implicitly always applying to Num class alone, to allow specifying
    an arbitrary single-parameter class:
    
        default IsString (Text, String)
    
    The effect of this declaration would be to eliminate the ambiguous type errors
    around string literals when OverloadedStrings extension is active. The
    declaration by itself has effect only in its module, so the proposal also adds
    the ability to export class defaults:
    
        module MyModule (default IsIstring)
    
    Once the language extension is published and established, we can consider using
    it in base and other libraries.
    
    See Note [Named default declarations] in GHC.Tc.Gen.Default
    for implementation details.
    fa0dbaca
    History
    Implements the Exportable Named Default proposal (#24305)
    Mario authored and Mario's avatar Mario committed
    This squashed commit adds support for exportable named defaults, the accepted
    GHC proposal at https://github.com/ghc-proposals/ghc-proposals/pull/409
    
    The proposal extends the Haskell '98 declarations
    
        default (Int, Double)
    
    which were implicitly always applying to Num class alone, to allow specifying
    an arbitrary single-parameter class:
    
        default IsString (Text, String)
    
    The effect of this declaration would be to eliminate the ambiguous type errors
    around string literals when OverloadedStrings extension is active. The
    declaration by itself has effect only in its module, so the proposal also adds
    the ability to export class defaults:
    
        module MyModule (default IsIstring)
    
    Once the language extension is published and established, we can consider using
    it in base and other libraries.
    
    See Note [Named default declarations] in GHC.Tc.Gen.Default
    for implementation details.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.