thoughtpolice/strict-ghc-plugin — pull request #1 by michaelt (2012-01-30 01:44:48+00:00)
Title: Update Strict/Pass.lhs

ghc-7.4 complains about the Note constructor for Expr. In ghc-7.0 Expr had constructors

...
| Cast (Expr b) Coercion.Coercion
| Note Note (Expr b)
| Type TypeRep.Type

where

data Note = SCC CostCentre.CostCentre | CoreNote String

In ghc-7.4 which permits the -fplugin flage CoreSyn uses a more elaborate constructor Tick which seems to carry the same information, and then some:

...
| Cast (Expr b) Coercion
| Tick (Tickish Id) (Expr b)
| Type Type

with

data Tickish id
= ProfNote {profNoteCC :: CostCentre.CostCentre,
profNoteCount :: !Bool,
profNoteScope :: !Bool}
| HpcTick {tickModule :: Module, tickId :: !Int}
| Breakpoint {breakpointId :: !Int, breakpointFVs :: [id]}

In any case with this revision the result `ghc --make -fplugin=Strict.Plugin NonTerminating.hs` yields a prompt stack overflow, as desired.