Skip to content
  • Alec Theriault's avatar
    Improve generated `GHC.Prim` docs · feb8a671
    Alec Theriault authored and Ryan Scott's avatar Ryan Scott committed
    Summary:
    * Extended `genprimcode` to generate Haddock-compatible deprecations,
      as well as displaying information about which functions are LLVM-only
      and which functions can fail with an unchecked exception.
    
    * Ported existing deprecations to the new format, and also added a
      deprecation on `par#` (see Trac #15227).
    
    * Emit an error on fixity/deprecation of builtins, unless we are
      processing the module in which that name is defined (see Trac #15233).
      That means the following is no longer accepted (outside of `GHC.Types`):
    
    ```
    infixr 7 :
    {-# DEPRECATED (:) "cons is deprecated" #-}
    ```
    
    * Generate `data (->) a b` with docs and fixity in `GHC.Prim`. This
      means: GHC can now parse `data (->) a b` and `infixr 0 ->` (only in
      `GHC.Prim`) and `genprimcode` can digest `primtype (->) a b` (See Trac
      #4861)
    
    as well as some misc fixes along the way.
    
    Reviewers: bgamari, RyanGlScott
    
    Reviewed By: RyanGlScott
    
    Subscribers: RyanGlScott, rwbarton, mpickering, carter
    
    GHC Trac Issues: #15227, #15233, #4861
    
    Differential Revision: https://phabricator.haskell.org/D5167
    feb8a671