Ah, true. I'm under the impression people don't need to so aggressively force constructor specialization except in some rare cases, but I'll add a note to the user manual (there are some notes on SpecConstr there.)
It doesn't look like there's documentation for ForceSpecConstr, but that's OK - presumably we can just not mention it, and encourage people will use the new type instead. On Fri, Oct 25, 2013 at 9:52 AM, Simon Peyton-Jones <[email protected]> wrote: > Austin, I think this needs a pointer to this in the user manual. I wouldn't > look in GHC.Types when fiddling with SpecConstr! > > Simon > > | -----Original Message----- > | From: ghc-commits [mailto:[email protected]] On Behalf Of > | [email protected] > | Sent: 25 October 2013 15:34 > | To: [email protected] > | Subject: [commit: packages/ghc-prim] master: Add actual documentation > | for new SPEC type. (8822cfc) > | > | Repository : ssh://[email protected]/ghc-prim > | > | On branch : master > | Link : > | http://ghc.haskell.org/trac/ghc/changeset/8822cfce44a3197f6f418563723c9c > | c4760e8db9/ghc-prim > | > | >--------------------------------------------------------------- > | > | commit 8822cfce44a3197f6f418563723c9cc4760e8db9 > | Author: Austin Seipp <[email protected]> > | Date: Fri Oct 25 09:33:49 2013 -0500 > | > | Add actual documentation for new SPEC type. > | > | Signed-off-by: Austin Seipp <[email protected]> > | > | > | >--------------------------------------------------------------- > | > | 8822cfce44a3197f6f418563723c9cc4760e8db9 > | GHC/Types.hs | 8 +++++++- > | 1 file changed, 7 insertions(+), 1 deletion(-) > | > | diff --git a/GHC/Types.hs b/GHC/Types.hs > | index 0e03143..4f97215 100644 > | --- a/GHC/Types.hs > | +++ b/GHC/Types.hs > | @@ -155,5 +155,11 @@ isTrue# x = tagToEnum# x > | -- you're reading this in 2023 then things went wrong). See #8326. > | -- > | > | --- | Lorem ipsum... > | +-- | SPEC is used by GHC in the @SpecConstr@ pass in order to inform > | +-- the compiler when to be particularly aggressive. In particular, it > | +-- tells GHC to specialize regardless of size or the number of > | +-- specializations. However, not all loops fall into this category. > | +-- > | +-- Libraries can specify this by using 'SPEC' data type to inform which > | +-- loops should be aggressively specialized. > | data SPEC = SPEC | SPEC2 > | > | _______________________________________________ > | ghc-commits mailing list > | [email protected] > | http://www.haskell.org/mailman/listinfo/ghc-commits > _______________________________________________ > ghc-devs mailing list > [email protected] > http://www.haskell.org/mailman/listinfo/ghc-devs > -- Regards, Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/ _______________________________________________ ghc-devs mailing list [email protected] http://www.haskell.org/mailman/listinfo/ghc-devs
