Changes between Version 8 and Version 9 of LanguagePragma


Ignore:
Timestamp:
Nov 21, 2009 1:34:11 AM (4 years ago)
Author:
ravi@…
Comment:

Update report delta to reflect committee discussion

Legend:

Unmodified
Added
Removed
Modified
  • LanguagePragma

    v8 v9  
    5858<div style="background: #dfd; border-color: #c00; border-style: solid; border-width: 1px"> 
    5959}}} 
    60 With the exception of the LANGUAGE pragma, an implementation is not required to respect any pragma. For non-LANGUAGE pragmas, the pragma should be ignored if an implementation is not prepared to handle it.                
     60An implementation is not required to respect any pragma and any pragma can be ignored if an implementation is not prepared to handle it. However, implementations are strongly encouraged to support the LANGUAGE pragma described below as there are many language extensions being used in practice.         
    6161{{{ 
    6262#!html 
     
    8080If a Haskell implementation does not recognize or support a particular language extension that a source file requests (or cannot support the combination of language extensions requested), any attempt to compile or otherwise use that file with that Haskell implementation must fail with an error. 
    8181 
    82 In the interests of portability, multiple attempts to enable the same, supported language features (e.g. via command-line arguments, implementation-specific extension dependencies or non-standard pragmas) are specifically permitted. Also, Haskell 2010 implementations are required to support {-# LANGUAGE Haskell2010 -#}. {-# LANGUAGE Haskell2010 -#} implies support for the following named language extensions standardized in Haskell 2010 (and recognized by pre-Haskell 2010 compilers): {-# LANGUAGE PatternGuards -#}, {-# LANGUAGE EmptyDataDecls #-}, {-# LANGUAGE ForeignFunctionInterface #-}, <to-be-completed when Haskell 2010 has been finalized>.  
     82In the interests of portability, multiple attempts to enable the same, supported language features (e.g. via command-line arguments, implementation-specific extension dependencies or non-standard pragmas) are specifically permitted. Haskell 2010 implementations that support the LANGUAGE pragma are required to support {-# LANGUAGE Haskell2010 -#}. Those implementations are also encouraged to support the following named language extensions: DoAndIfThenElse, HierarchicalModules, FixityResolution, PatternGuards, NoNPlusKPatterns, RelaxedDependencyAnalysis, LineCommentSyntax, EmptyDataDeclarations, LanguagePragma and ForeignFunctionInterface. These are the named language extensions, supported by some pre-Haskell 2010 implementations, that have been integrated into this report. 
    8383{{{ 
    8484#!html