Opened 6 months ago

Last modified 6 weeks ago

#15227 new bug

Add PrelRules for par#

Reported by: dfeuer Owned by:
Priority: low Milestone: 8.8.1
Component: Compiler Version: 8.4.3
Keywords: Newcomer Cc: simonmar
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Runtime performance bug Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:


seq# and spark# are elided when their arguments are known to be evaluated. par#, however, is not. Presumably this leads to sparks being created and then immediately going away.

Change History (4)

comment:1 Changed 6 months ago by simonpj

That sounds plausible to me.

comment:2 Changed 6 months ago by simonmar

par# should have been deprecated back in 7.2 when we added spark#. We don't use it any more. Let's just add a deprecated note to it and remove it in a future release.

comment:3 Changed 3 months ago by bgamari


These won't be fixed in GHC 8.6

comment:4 Changed 6 weeks ago by Ryan Scott <…>

In feb8a67/ghc:

Improve generated `GHC.Prim` docs

* 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

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:
Note: See TracTickets for help on using tickets.