packages feed

uuagc 0.9.17 → 0.9.18

raw patch · 7 files changed

+529/−480 lines, 7 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

src-derived/Code.hs view
@@ -207,12 +207,16 @@          child comps          : {[String]}       alternative UnboxedTupleLhs:          child comps          : {[String]}+      alternative Unwrap:+         child name           : {String}+         child sub            : Lhs  -} data Lhs  = Fun (String) (Exprs)            | Pattern3 (Pattern)            | Pattern3SM (Pattern)            | TupleLhs ([String])            | UnboxedTupleLhs ([String]) +          | Unwrap (String) (Lhs)  -- Program ----------------------------------------------------- {-    alternatives:
src-derived/GenerateCode.hs view
@@ -53,6 +53,14 @@   = maybe tp (\ctx -> CtxApp (map (\(n,ns) -> (getName n, ns)) ctx) tp) $ Map.lookup nt mp  +unwrapSem :: Bool -> NontermIdent -> Expr -> Expr+unwrapSem False _ e = e+unwrapSem True nm e = Case e alts+  where alts  = [CaseAlt left right]+        left  = Fun (typeName nm 0) [SimpleExpr "x"]+        right = SimpleExpr "x"++ substSelf nt tp = case tp of                     NT t tps | t == _SELF -> Haskell (getName nt ++ " " ++ unwords tps)                     _                     -> tp@@ -328,29 +336,29 @@                           -- "GenerateCode.ag"(line 124, column 7)                           _nontsOallNts =                               _nontsIgathNts-                          -- "GenerateCode.ag"(line 621, column 7)+                          -- "GenerateCode.ag"(line 631, column 7)                           _unfoldSemDom =                               \nt nr repl ->                                let (params, tp) = Map.findWithDefault (error ("No such semantic domain: " ++ show nt)) (nt, nr) _nontsIsemDomUnfoldGath                                    replMap = Map.fromList (zip params repl)                                    replace k = Map.findWithDefault ('@':k) k replMap                                in evalType replace tp-                          -- "GenerateCode.ag"(line 714, column 14)+                          -- "GenerateCode.ag"(line 724, column 14)                           _nontsOwith_sig =                               typeSigs _lhsIoptions && _nontsIallTpsFound-                          -- "GenerateCode.ag"(line 721, column 15)+                          -- "GenerateCode.ag"(line 731, column 15)                           _nontsOerrors =                               Seq.empty-                          -- "GenerateCode.ag"(line 785, column 17)+                          -- "GenerateCode.ag"(line 795, column 17)                           _lhsOoutput =                               Program _nontsIchunks-                          -- "GenerateCode.ag"(line 838, column 14)+                          -- "GenerateCode.ag"(line 848, column 14)                           _nontsOtypeSyns =                               typeSyns_-                          -- "GenerateCode.ag"(line 838, column 14)+                          -- "GenerateCode.ag"(line 848, column 14)                           _nontsOderivings =                               derivings_-                          -- "GenerateCode.ag"(line 838, column 14)+                          -- "GenerateCode.ag"(line 848, column 14)                           _nontsOwrappers =                               wrappers_                           -- copy rule (up)@@ -480,19 +488,19 @@                             _segIsemDom :: ([Decl])                             _segIsemDomUnfoldGath :: (Map (NontermIdent, Int) ([String], Code.Type))                             _segIwrapDecls :: Decls-                            -- "GenerateCode.ag"(line 218, column 17)+                            -- "GenerateCode.ag"(line 228, column 17)                             _segOnr =                                 0-                            -- "GenerateCode.ag"(line 594, column 18)+                            -- "GenerateCode.ag"(line 604, column 18)                             _lhsOsemDom =                                 Comment "semantic domain" : _segIsemDom-                            -- use rule "GenerateCode.ag"(line 738, column 52)+                            -- use rule "GenerateCode.ag"(line 748, column 52)                             _lhsOcomments =                                 _segIcomments-                            -- use rule "GenerateCode.ag"(line 611, column 86)+                            -- use rule "GenerateCode.ag"(line 621, column 86)                             _lhsOsemDomUnfoldGath =                                 _segIsemDomUnfoldGath-                            -- use rule "GenerateCode.ag"(line 687, column 52)+                            -- use rule "GenerateCode.ag"(line 697, column 52)                             _lhsOwrapDecls =                                 _segIwrapDecls                             -- copy rule (down)@@ -769,7 +777,7 @@                               -- "GenerateCode.ag"(line 130, column 7)                               _lhsOgathNts =                                   Set.singleton nt_-                              -- "GenerateCode.ag"(line 659, column 18)+                              -- "GenerateCode.ag"(line 669, column 18)                               _semWrapper =                                   let params' = map getName params_                                       inhAttrs = Map.toList inh_@@ -797,10 +805,10 @@                                                     (Let _interIwrapDecls (App synNT synVars))                                                     Set.empty Set.empty                                               ]-                              -- "GenerateCode.ag"(line 734, column 18)+                              -- "GenerateCode.ag"(line 744, column 18)                               _comment =                                   Comment . unlines . map ind $ ( _interIcomments ++ ("alternatives:" : map ind _prodsIcomments) )-                              -- "GenerateCode.ag"(line 788, column 19)+                              -- "GenerateCode.ag"(line 798, column 19)                               _lhsOchunks =                                   [ Chunk (getName nt_)                                          (Comment (getName nt_ ++ " " ++ replicate (60 - length (getName nt_)) '-'))@@ -812,7 +820,7 @@                                          (if _lhsIo_sem                     then  _prodsIdecls     else [])                                          (if _lhsIo_sem                     then  _prodsIsemNames  else [])                                   ]-                              -- "GenerateCode.ag"(line 843, column 18)+                              -- "GenerateCode.ag"(line 853, column 18)                               _dataDef =                                   let params' = map getName params_                                       typeSyn tp = let theType =@@ -831,7 +839,7 @@                                       derivings  = maybe [] (map getName . Set.toList) (Map.lookup nt_ _lhsIderivings)                                       dataDef    = Data (getName nt_) (map getName params_) _prodsIdataAlts (maybe False id _lhsIo_data) derivings                                   in maybe dataDef typeSyn $ lookup nt_ _lhsItypeSyns-                              -- "GenerateCode.ag"(line 877, column 18)+                              -- "GenerateCode.ag"(line 887, column 18)                               _cataFun =                                   let appParams nm = TypeApp (SimpleType nm) (map SimpleType (map getName params_))                                       evalTp | null params_ = id@@ -914,13 +922,13 @@                                   in  Comment "cata" :                                       (if _lhsIo_sig then [tSig] else []) ++                                       maybe _prodsIcataAlts special (lookup nt_ _lhsItypeSyns)-                              -- use rule "GenerateCode.ag"(line 706, column 39)+                              -- use rule "GenerateCode.ag"(line 716, column 39)                               _lhsOallTpsFound =                                   _prodsIallTpsFound-                              -- use rule "GenerateCode.ag"(line 719, column 32)+                              -- use rule "GenerateCode.ag"(line 729, column 32)                               _lhsOerrors =                                   _prodsIerrors-                              -- use rule "GenerateCode.ag"(line 611, column 86)+                              -- use rule "GenerateCode.ag"(line 621, column 86)                               _lhsOsemDomUnfoldGath =                                   _interIsemDomUnfoldGath                               -- copy rule (down)@@ -1218,19 +1226,19 @@                                _tlIerrors :: (Seq Error)                                _tlIgathNts :: (Set NontermIdent)                                _tlIsemDomUnfoldGath :: (Map (NontermIdent, Int) ([String], Code.Type))-                               -- use rule "GenerateCode.ag"(line 706, column 39)+                               -- use rule "GenerateCode.ag"(line 716, column 39)                                _lhsOallTpsFound =                                    _hdIallTpsFound && _tlIallTpsFound-                               -- use rule "GenerateCode.ag"(line 780, column 49)+                               -- use rule "GenerateCode.ag"(line 790, column 49)                                _lhsOchunks =                                    _hdIchunks ++ _tlIchunks-                               -- use rule "GenerateCode.ag"(line 719, column 32)+                               -- use rule "GenerateCode.ag"(line 729, column 32)                                _lhsOerrors =                                    _hdIerrors Seq.>< _tlIerrors                                -- use rule "GenerateCode.ag"(line 126, column 47)                                _lhsOgathNts =                                    _hdIgathNts `Set.union` _tlIgathNts-                               -- use rule "GenerateCode.ag"(line 611, column 86)+                               -- use rule "GenerateCode.ag"(line 621, column 86)                                _lhsOsemDomUnfoldGath =                                    _hdIsemDomUnfoldGath `Map.union` _tlIsemDomUnfoldGath                                -- copy rule (down)@@ -1420,19 +1428,19 @@                                _lhsOerrors :: (Seq Error)                                _lhsOgathNts :: (Set NontermIdent)                                _lhsOsemDomUnfoldGath :: (Map (NontermIdent, Int) ([String], Code.Type))-                               -- use rule "GenerateCode.ag"(line 706, column 39)+                               -- use rule "GenerateCode.ag"(line 716, column 39)                                _lhsOallTpsFound =                                    True-                               -- use rule "GenerateCode.ag"(line 780, column 49)+                               -- use rule "GenerateCode.ag"(line 790, column 49)                                _lhsOchunks =                                    []-                               -- use rule "GenerateCode.ag"(line 719, column 32)+                               -- use rule "GenerateCode.ag"(line 729, column 32)                                _lhsOerrors =                                    Seq.empty                                -- use rule "GenerateCode.ag"(line 126, column 47)                                _lhsOgathNts =                                    Set.empty-                               -- use rule "GenerateCode.ag"(line 611, column 86)+                               -- use rule "GenerateCode.ag"(line 621, column 86)                                _lhsOsemDomUnfoldGath =                                    Map.empty                            in  ( _lhsOallTpsFound,_lhsOchunks,_lhsOerrors,_lhsOgathNts,_lhsOsemDomUnfoldGath))) )@@ -1612,31 +1620,31 @@                              -- "GenerateCode.ag"(line 98, column 7)                              _paramInstMap =                                  Map.fromList [(nm, (extractNonterminal tp, tps)) | (nm,tp,_) <- children_, let tps = map cleanupArg $ nontermArgs tp, not (null tps) ]-                             -- "GenerateCode.ag"(line 214, column 18)+                             -- "GenerateCode.ag"(line 224, column 18)                              _visitsOnr =                                  0-                             -- "GenerateCode.ag"(line 340, column 18)+                             -- "GenerateCode.ag"(line 350, column 18)                              _visitsOchildren =                                  children_-                             -- "GenerateCode.ag"(line 450, column 7)+                             -- "GenerateCode.ag"(line 460, column 7)                              _visitsOinstVisitNrs =                                  _visitsIgatherInstVisitNrs-                             -- "GenerateCode.ag"(line 749, column 17)+                             -- "GenerateCode.ag"(line 759, column 17)                              _firstOrderChildren =                                  filter (\(_,_,ho) -> not ho) children_-                             -- "GenerateCode.ag"(line 750, column 18)+                             -- "GenerateCode.ag"(line 760, column 18)                              _lhsOcomments =                                  ("alternative " ++ getName con_ ++ ":")                                  : map ind (  map (\(x,y,_) -> makeLocalComment 14 "child" x (Just y)) _firstOrderChildren                                            ++ _visitsIcomments                                            )-                             -- "GenerateCode.ag"(line 869, column 17)+                             -- "GenerateCode.ag"(line 879, column 17)                              _params =                                  map getName $ Map.findWithDefault [] _lhsInt _lhsIparamMap-                             -- "GenerateCode.ag"(line 870, column 17)+                             -- "GenerateCode.ag"(line 880, column 17)                              _lhsOdataAlt =                                  DataAlt (conname _lhsIo_rename _lhsInt con_) (map (\(_,t,_) -> typeToHaskellString (Just _lhsInt) _params     t) _firstOrderChildren    )-                             -- "GenerateCode.ag"(line 969, column 17)+                             -- "GenerateCode.ag"(line 979, column 17)                              _lhsOcataAlt =                                  let lhs = Fun (cataname _lhsIprefix _lhsInt) [lhs_pat]                                      lhs_pat = App (conname _lhsIo_rename _lhsInt con_)@@ -1648,16 +1656,16 @@                                                                       [SimpleExpr (locname nm)]                                      argument (nm, _,_)    = SimpleExpr (locname nm)                                   in Decl lhs rhs Set.empty Set.empty-                             -- use rule "GenerateCode.ag"(line 706, column 39)+                             -- use rule "GenerateCode.ag"(line 716, column 39)                              _lhsOallTpsFound =                                  _visitsIallTpsFound-                             -- use rule "GenerateCode.ag"(line 781, column 44)+                             -- use rule "GenerateCode.ag"(line 791, column 44)                              _lhsOdecls =                                  _visitsIdecls-                             -- use rule "GenerateCode.ag"(line 719, column 32)+                             -- use rule "GenerateCode.ag"(line 729, column 32)                              _lhsOerrors =                                  _visitsIerrors-                             -- use rule "GenerateCode.ag"(line 985, column 61)+                             -- use rule "GenerateCode.ag"(line 995, column 61)                              _lhsOsemNames =                                  _visitsIsemNames                              -- copy rule (down)@@ -1925,25 +1933,25 @@                               _tlIdecls :: Decls                               _tlIerrors :: (Seq Error)                               _tlIsemNames :: ([String])-                              -- "GenerateCode.ag"(line 865, column 17)+                              -- "GenerateCode.ag"(line 875, column 17)                               _lhsOdataAlts =                                   _hdIdataAlt : _tlIdataAlts-                              -- "GenerateCode.ag"(line 965, column 10)+                              -- "GenerateCode.ag"(line 975, column 10)                               _lhsOcataAlts =                                   _hdIcataAlt : _tlIcataAlts-                              -- use rule "GenerateCode.ag"(line 706, column 39)+                              -- use rule "GenerateCode.ag"(line 716, column 39)                               _lhsOallTpsFound =                                   _hdIallTpsFound && _tlIallTpsFound-                              -- use rule "GenerateCode.ag"(line 738, column 52)+                              -- use rule "GenerateCode.ag"(line 748, column 52)                               _lhsOcomments =                                   _hdIcomments ++ _tlIcomments-                              -- use rule "GenerateCode.ag"(line 781, column 44)+                              -- use rule "GenerateCode.ag"(line 791, column 44)                               _lhsOdecls =                                   _hdIdecls ++ _tlIdecls-                              -- use rule "GenerateCode.ag"(line 719, column 32)+                              -- use rule "GenerateCode.ag"(line 729, column 32)                               _lhsOerrors =                                   _hdIerrors Seq.>< _tlIerrors-                              -- use rule "GenerateCode.ag"(line 985, column 61)+                              -- use rule "GenerateCode.ag"(line 995, column 61)                               _lhsOsemNames =                                   _hdIsemNames ++ _tlIsemNames                               -- copy rule (down)@@ -2135,25 +2143,25 @@                               _lhsOdecls :: Decls                               _lhsOerrors :: (Seq Error)                               _lhsOsemNames :: ([String])-                              -- "GenerateCode.ag"(line 866, column 17)+                              -- "GenerateCode.ag"(line 876, column 17)                               _lhsOdataAlts =                                   []-                              -- "GenerateCode.ag"(line 966, column 10)+                              -- "GenerateCode.ag"(line 976, column 10)                               _lhsOcataAlts =                                   []-                              -- use rule "GenerateCode.ag"(line 706, column 39)+                              -- use rule "GenerateCode.ag"(line 716, column 39)                               _lhsOallTpsFound =                                   True-                              -- use rule "GenerateCode.ag"(line 738, column 52)+                              -- use rule "GenerateCode.ag"(line 748, column 52)                               _lhsOcomments =                                   []-                              -- use rule "GenerateCode.ag"(line 781, column 44)+                              -- use rule "GenerateCode.ag"(line 791, column 44)                               _lhsOdecls =                                   []-                              -- use rule "GenerateCode.ag"(line 719, column 32)+                              -- use rule "GenerateCode.ag"(line 729, column 32)                               _lhsOerrors =                                   Seq.empty-                              -- use rule "GenerateCode.ag"(line 985, column 61)+                              -- use rule "GenerateCode.ag"(line 995, column 61)                               _lhsOsemNames =                                   []                           in  ( _lhsOallTpsFound,_lhsOcataAlts,_lhsOcomments,_lhsOdataAlts,_lhsOdecls,_lhsOerrors,_lhsOsemNames))) )@@ -2357,15 +2365,15 @@                        _lhsOdecls :: Decls                        _lhsOdefinedInsts :: ([Identifier])                        _lhsOerrors :: (Seq Error)-                       -- "GenerateCode.ag"(line 181, column 18)+                       -- "GenerateCode.ag"(line 182, column 18)                        _costCentreDescr =                            show _lhsInt ++ ":" ++ show _lhsIcon ++ ":" ++ show name_ ++ ":" ++ show nt_ ++ ":" ++ show nr_-                       -- "GenerateCode.ag"(line 182, column 18)+                       -- "GenerateCode.ag"(line 183, column 18)                        _addCostCentre =                            \v -> if _lhsIo_costcentre                                  then PragmaExpr True False ("SCC \"" ++ _costCentreDescr     ++ "\"") v                                  else v-                       -- "GenerateCode.ag"(line 185, column 18)+                       -- "GenerateCode.ag"(line 186, column 18)                        _decls =                            let  lhsVars =  map (attrname True name_) (Map.keys syn_)                                            ++ if isLast_ then [] else [unwrap ++ funname name_ (nr_+1)]@@ -2374,74 +2382,74 @@                                 tuple = mkTupleLhs _lhsIo_unbox (null $ Map.keys inh_) lhsVars                                 rhs = _addCostCentre     $ App (funname name_ nr_) (map SimpleExpr rhsVars)                            in [Decl tuple rhs (Set.fromList lhsVars) (Set.fromList (funname name_ nr_ : rhsVars))]-                       -- "GenerateCode.ag"(line 261, column 7)+                       -- "GenerateCode.ag"(line 271, column 7)                        _isSuperfluousHigherOrderIntra =                            _lhsInr <= Map.findWithDefault (-1) name_ _lhsIinstVisitNrs-                       -- "GenerateCode.ag"(line 275, column 8)+                       -- "GenerateCode.ag"(line 285, column 8)                        _names =                            if _isSuperfluousHigherOrderIntra                            then []                            else [funname name_ (nr_+1)]-                       -- "GenerateCode.ag"(line 279, column 8)+                       -- "GenerateCode.ag"(line 289, column 8)                        _lhsOexprs =                            let wrap = if _lhsIo_newtypes then \x -> App (typeName nt_ (nr_ + 1)) [x] else id                                addType expr | null _instParams     = expr                                             | otherwise            = TypedExpr expr (_lhsIunfoldSemDom nt_ (nr_+1) _instParams    )                            in map (wrap . addType . SimpleExpr) _names-                       -- "GenerateCode.ag"(line 291, column 7)+                       -- "GenerateCode.ag"(line 301, column 7)                        _lhsOusedVars =                            Set.fromList _names-                       -- "GenerateCode.ag"(line 315, column 19)+                       -- "GenerateCode.ag"(line 325, column 19)                        _mkTp =                            _evalTp     . SimpleType . typeToHaskellString (Just nt_) _orgParams-                       -- "GenerateCode.ag"(line 316, column 19)+                       -- "GenerateCode.ag"(line 326, column 19)                        _definedTps =                            [ TSig (attrname True name_ a) (_mkTp tp) |  (a,tp) <- Map.toList syn_ ]-                       -- "GenerateCode.ag"(line 317, column 19)+                       -- "GenerateCode.ag"(line 327, column 19)                        _nextTp =                            typeName nt_ (nr_+1)-                       -- "GenerateCode.ag"(line 318, column 19)+                       -- "GenerateCode.ag"(line 328, column 19)                        _lhsOtSigs =                            (if isLast_ then id else (TSig (funname name_ (nr_+1)) (TypeApp (SimpleType _nextTp) (map SimpleType _instParams    )) :)) _definedTps-                       -- "GenerateCode.ag"(line 320, column 19)+                       -- "GenerateCode.ag"(line 330, column 19)                        _orgParams =                            map getName $ Map.findWithDefault [] nt_ _lhsIparamMap-                       -- "GenerateCode.ag"(line 321, column 19)+                       -- "GenerateCode.ag"(line 331, column 19)                        _instParams =                            snd $ Map.findWithDefault (nt_,[]) name_ _lhsIparamInstMap-                       -- "GenerateCode.ag"(line 322, column 19)+                       -- "GenerateCode.ag"(line 332, column 19)                        _replParamMap =                            Map.fromList (zip _orgParams     _instParams    )-                       -- "GenerateCode.ag"(line 323, column 19)+                       -- "GenerateCode.ag"(line 333, column 19)                        _replace =                            \k -> Map.findWithDefault k k _replParamMap-                       -- "GenerateCode.ag"(line 324, column 19)+                       -- "GenerateCode.ag"(line 334, column 19)                        _evalTp =                            if null _orgParams     then id else evalType _replace-                       -- "GenerateCode.ag"(line 347, column 19)+                       -- "GenerateCode.ag"(line 357, column 19)                        _lhsOtps =                            if _isSuperfluousHigherOrderIntra                            then []                            else [NT (ntOfVisit nt_ (nr_+1)) _instParams    ]-                       -- "GenerateCode.ag"(line 472, column 7)+                       -- "GenerateCode.ag"(line 482, column 7)                        _lhsOdeclsAbove =                            []-                       -- "GenerateCode.ag"(line 485, column 7)+                       -- "GenerateCode.ag"(line 495, column 7)                        _lhsObldBlocksFun =                            DeclBlock _lhsIdeclsAbove (head _decls    )-                       -- use rule "GenerateCode.ag"(line 344, column 39)+                       -- use rule "GenerateCode.ag"(line 354, column 39)                        _lhsOallTpsFound =                            True-                       -- use rule "GenerateCode.ag"(line 738, column 52)+                       -- use rule "GenerateCode.ag"(line 748, column 52)                        _lhsOcomments =                            []                        -- use rule "GenerateCode.ag"(line 138, column 34)                        _lhsOdecls =                            _decls-                       -- use rule "GenerateCode.ag"(line 195, column 55)+                       -- use rule "GenerateCode.ag"(line 205, column 55)                        _lhsOdefinedInsts =                            []-                       -- use rule "GenerateCode.ag"(line 719, column 32)+                       -- use rule "GenerateCode.ag"(line 729, column 32)                        _lhsOerrors =                            Seq.empty                    in  ( _lhsOallTpsFound,_lhsObldBlocksFun,_lhsOcomments,_lhsOdecls,_lhsOdeclsAbove,_lhsOdefinedInsts,_lhsOerrors,_lhsOexprs,_lhsOtSigs,_lhsOtps,_lhsOusedVars))) )@@ -2519,7 +2527,8 @@                        _instDecls =                            [ Decl (Pattern3 (Alias _INST' inst (Underscore (getPos inst)) []))                                   ( let nm = fromJust $ inst `lookup` _instTypes-                                    in case nm `Set.member` _lhsIallNts of+                                    in unwrapSem _lhsIo_newtypes (maybe nm id (deforestedNt nm))+                                       $ case nm `Set.member` _lhsIallNts of                                          True  -> App (cataname _lhsIprefix nm)                                                       [SimpleExpr instLocFieldName]                                          False -> SimpleExpr instLocFieldName@@ -2529,28 +2538,28 @@                            | inst <- _definedInsts                            , let instLocFieldName = attrname True _INST inst                            , let instSemFieldName = attrname False _INST' inst ]-                       -- "GenerateCode.ag"(line 156, column 12)+                       -- "GenerateCode.ag"(line 157, column 12)                        _patDescr =                            if isIn_                            then "_"                            else concat $ intersperse "," (map (\(f,a) -> show f ++ "." ++ show a) _patternIpatternAttributes)-                       -- "GenerateCode.ag"(line 159, column 12)+                       -- "GenerateCode.ag"(line 160, column 12)                        _traceDescr =                            show nt_ ++ " :: " ++ show con_ ++ " :: " ++ _patDescr-                       -- "GenerateCode.ag"(line 161, column 12)+                       -- "GenerateCode.ag"(line 162, column 12)                        _addTrace =                            \v -> if _lhsIo_traces                                  then Trace _traceDescr     v                                  else v-                       -- "GenerateCode.ag"(line 164, column 12)+                       -- "GenerateCode.ag"(line 165, column 12)                        _costCentreDescr =                            show nt_ ++ ":" ++ show con_ ++ ":" ++ _patDescr-                       -- "GenerateCode.ag"(line 165, column 12)+                       -- "GenerateCode.ag"(line 166, column 12)                        _addCostCentre =                            \v -> if _lhsIo_costcentre                                  then PragmaExpr True False ("SCC \"" ++ _costCentreDescr     ++ "\"") v                                  else v-                       -- "GenerateCode.ag"(line 168, column 12)+                       -- "GenerateCode.ag"(line 169, column 12)                        _addLinePragma =                            \v -> let p = getPos name_                                      hasPos = line p > 0 && column p >= 0 && not (null (file p))@@ -2559,7 +2568,7 @@                                          $ LineExpr                                          $ v                                     else v-                       -- "GenerateCode.ag"(line 175, column 12)+                       -- "GenerateCode.ag"(line 176, column 12)                        _decls =                            if hasCode_                            then _originComment ( Decl (Pattern3 _patternIcopy) (_addTrace     $ _addCostCentre     $ _addLinePragma     $ (TextExpr rhs_))@@ -2567,31 +2576,31 @@                                                       (Set.fromList [attrname True fld nm | (fld,nm) <- Set.toList uses_])                                                : _instDecls    )                            else _instDecls-                       -- "GenerateCode.ag"(line 200, column 12)+                       -- "GenerateCode.ag"(line 210, column 12)                        _definedInsts =                            if isIn_ then [] else _patternIdefinedInsts-                       -- "GenerateCode.ag"(line 270, column 12)+                       -- "GenerateCode.ag"(line 280, column 12)                        _rulename =                            if  field_ == _LOC && name_ `elem` _lhsIterminals                            then funname name_ 0                            else attrname isIn_ field_ name_-                       -- "GenerateCode.ag"(line 273, column 12)+                       -- "GenerateCode.ag"(line 283, column 12)                        _lhsOexprs =                            [SimpleExpr _rulename    ]-                       -- "GenerateCode.ag"(line 289, column 7)+                       -- "GenerateCode.ag"(line 299, column 7)                        _lhsOusedVars =                            Set.singleton _rulename-                       -- "GenerateCode.ag"(line 299, column 19)+                       -- "GenerateCode.ag"(line 309, column 19)                        _mkTp =                            SimpleType . typeToHaskellString (Just _lhsInt) _orgParams-                       -- "GenerateCode.ag"(line 300, column 19)+                       -- "GenerateCode.ag"(line 310, column 19)                        _lhsOtSigs =                            [ TSig (attrname False field attr) (_evalTp     field $ _mkTp (fromJust tp))                            |  (field,attr,tp) <- Map.elems defines_, isJust tp ]-                       -- "GenerateCode.ag"(line 303, column 19)+                       -- "GenerateCode.ag"(line 313, column 19)                        _orgParams =                            map getName $ Map.findWithDefault [] _lhsInt _lhsIparamMap-                       -- "GenerateCode.ag"(line 304, column 19)+                       -- "GenerateCode.ag"(line 314, column 19)                        _evalTp =                            \field tp -> let orgFldParams = map getName $ Map.findWithDefault [] childNt _lhsIparamMap                                             (childNt,instParams) = Map.findWithDefault (_lhsInt,[]) field _lhsIparamInstMap@@ -2602,34 +2611,34 @@                                                 then tp                                                 else idEvalType tp                                            else evalType replace tp-                       -- "GenerateCode.ag"(line 346, column 23)+                       -- "GenerateCode.ag"(line 356, column 23)                        __tup3 =                            maybe ([],False) (\tp -> ([substSelf (fromJust childnt_) tp],True)) tp_-                       -- "GenerateCode.ag"(line 346, column 23)+                       -- "GenerateCode.ag"(line 356, column 23)                        (_lhsOtps,_) =                            __tup3-                       -- "GenerateCode.ag"(line 346, column 23)+                       -- "GenerateCode.ag"(line 356, column 23)                        (_,_lhsOallTpsFound) =                            __tup3-                       -- "GenerateCode.ag"(line 470, column 7)+                       -- "GenerateCode.ag"(line 480, column 7)                        _lhsOdeclsAbove =                            _lhsIdeclsAbove ++ _decls-                       -- "GenerateCode.ag"(line 483, column 7)+                       -- "GenerateCode.ag"(line 493, column 7)                        _lhsObldBlocksFun =                            id-                       -- "GenerateCode.ag"(line 725, column 12)+                       -- "GenerateCode.ag"(line 735, column 12)                        _lhsOerrors =                            let nameOf (Alias _ _ _ pats@(_:_)) = Ident (show (map (\(Alias _ a _ _)->a) pats)) (getPos name_)                                nameOf _ = name_                            in  maybe (Seq.singleton (MissingTypeSig _lhsInt _lhsIcon (nameOf _patternIcopy))) (const Seq.empty) tp_-                       -- "GenerateCode.ag"(line 765, column 18)+                       -- "GenerateCode.ag"(line 775, column 18)                        _lhsOcomments =                            [ makeLocalComment 11 _lhsIwhat name tp | (field,name,tp) <- Map.elems defines_, field == _LOC ]                            ++ [ makeLocalComment 11 "inst " name tp | (field,name,tp) <- Map.elems defines_, field == _INST ]                        -- use rule "GenerateCode.ag"(line 138, column 34)                        _lhsOdecls =                            _decls-                       -- use rule "GenerateCode.ag"(line 195, column 55)+                       -- use rule "GenerateCode.ag"(line 205, column 55)                        _lhsOdefinedInsts =                            _definedInsts                        ( _patternIcopy,_patternIdefinedInsts,_patternIpatternAttributes) =@@ -2742,24 +2751,24 @@                           _lhsOsemDomUnfoldGath :: (Map (NontermIdent, Int) ([String], Code.Type))                           _lhsOwrapDecls :: Decls                           _lhsOcomments :: ([String])-                          -- "GenerateCode.ag"(line 597, column 15)+                          -- "GenerateCode.ag"(line 607, column 15)                           _tp =                               foldr Arr _synTps     _inhTps-                          -- "GenerateCode.ag"(line 598, column 15)+                          -- "GenerateCode.ag"(line 608, column 15)                           _inhTps =                               [SimpleType (typeToHaskellString (Just _lhsInt) _params     tp) |  tp <- Map.elems inh_]-                          -- "GenerateCode.ag"(line 599, column 15)+                          -- "GenerateCode.ag"(line 609, column 15)                           _synTps =                               mkTupleType _lhsIo_unbox (null _inhTps    ) ([SimpleType (typeToHaskellString (Just _lhsInt) _params     tp) |  tp <- Map.elems syn_] ++ _continuation    )-                          -- "GenerateCode.ag"(line 600, column 15)+                          -- "GenerateCode.ag"(line 610, column 15)                           _continuation =                               if  _lhsIisLast                               then []                               else [TypeApp (SimpleType (typeName _lhsInt (_lhsInr + 1))) (map (SimpleType . ('@':)) _params    )]-                          -- "GenerateCode.ag"(line 603, column 15)+                          -- "GenerateCode.ag"(line 613, column 15)                           _params =                               map getName $ Map.findWithDefault [] _lhsInt _lhsIparamMap-                          -- "GenerateCode.ag"(line 604, column 15)+                          -- "GenerateCode.ag"(line 614, column 15)                           _lhsOsemDom =                               let name = typeName _lhsInt _lhsInr                                   evalTp | null _params     = id@@ -2767,10 +2776,10 @@                               in if _lhsIo_newtypes                                  then [ Code.NewType name _params     name (evalTp _tp    ) ]                                  else [ Code.Type name _params     (evalTp _tp    ) ]-                          -- "GenerateCode.ag"(line 615, column 7)+                          -- "GenerateCode.ag"(line 625, column 7)                           _lhsOsemDomUnfoldGath =                               Map.singleton (_lhsInt, _lhsInr) (_params    , _tp    )-                          -- "GenerateCode.ag"(line 689, column 15)+                          -- "GenerateCode.ag"(line 699, column 15)                           _lhsOwrapDecls =                               let lhsVars = map (lhsname False) (Map.keys syn_)                                             ++ if _lhsIisLast then [] else [unwrap ++ sem (_lhsInr+1)]@@ -2781,7 +2790,7 @@                                   sem 0 = var                                   sem n = var ++ "_" ++ show n                               in [ Decl (mkTupleLhs _lhsIo_unbox (null $ Map.keys inh_) lhsVars) (App (sem _lhsInr) rhs) (Set.fromList lhsVars) (Set.fromList rhsVars) ]-                          -- "GenerateCode.ag"(line 743, column 18)+                          -- "GenerateCode.ag"(line 753, column 18)                           _lhsOcomments =                               let body = map ind (showsSegment (CSegment inh_ syn_))                               in if null body@@ -2939,25 +2948,25 @@                            _tlIsemDom :: ([Decl])                            _tlIsemDomUnfoldGath :: (Map (NontermIdent, Int) ([String], Code.Type))                            _tlIwrapDecls :: Decls-                           -- "GenerateCode.ag"(line 220, column 11)+                           -- "GenerateCode.ag"(line 230, column 11)                            _tlOnr =                                _lhsInr + 1-                           -- "GenerateCode.ag"(line 233, column 12)+                           -- "GenerateCode.ag"(line 243, column 12)                            _lhsOisNil =                                False-                           -- "GenerateCode.ag"(line 234, column 12)+                           -- "GenerateCode.ag"(line 244, column 12)                            _hdOisLast =                                _tlIisNil-                           -- use rule "GenerateCode.ag"(line 738, column 52)+                           -- use rule "GenerateCode.ag"(line 748, column 52)                            _lhsOcomments =                                _hdIcomments ++ _tlIcomments-                           -- use rule "GenerateCode.ag"(line 592, column 50)+                           -- use rule "GenerateCode.ag"(line 602, column 50)                            _lhsOsemDom =                                _hdIsemDom ++ _tlIsemDom-                           -- use rule "GenerateCode.ag"(line 611, column 86)+                           -- use rule "GenerateCode.ag"(line 621, column 86)                            _lhsOsemDomUnfoldGath =                                _hdIsemDomUnfoldGath `Map.union` _tlIsemDomUnfoldGath-                           -- use rule "GenerateCode.ag"(line 687, column 52)+                           -- use rule "GenerateCode.ag"(line 697, column 52)                            _lhsOwrapDecls =                                _hdIwrapDecls ++ _tlIwrapDecls                            -- copy rule (down)@@ -3109,19 +3118,19 @@                            _lhsOsemDom :: ([Decl])                            _lhsOsemDomUnfoldGath :: (Map (NontermIdent, Int) ([String], Code.Type))                            _lhsOwrapDecls :: Decls-                           -- "GenerateCode.ag"(line 235, column 10)+                           -- "GenerateCode.ag"(line 245, column 10)                            _lhsOisNil =                                True-                           -- use rule "GenerateCode.ag"(line 738, column 52)+                           -- use rule "GenerateCode.ag"(line 748, column 52)                            _lhsOcomments =                                []-                           -- use rule "GenerateCode.ag"(line 592, column 50)+                           -- use rule "GenerateCode.ag"(line 602, column 50)                            _lhsOsemDom =                                []-                           -- use rule "GenerateCode.ag"(line 611, column 86)+                           -- use rule "GenerateCode.ag"(line 621, column 86)                            _lhsOsemDomUnfoldGath =                                Map.empty-                           -- use rule "GenerateCode.ag"(line 687, column 52)+                           -- use rule "GenerateCode.ag"(line 697, column 52)                            _lhsOwrapDecls =                                []                        in  ( _lhsOcomments,_lhsOisNil,_lhsOsemDom,_lhsOsemDomUnfoldGath,_lhsOwrapDecls))) )@@ -3386,28 +3395,28 @@                         _intraItSigs :: ([Decl])                         _intraItps :: ([Type])                         _intraIusedVars :: (Set String)-                        -- "GenerateCode.ag"(line 244, column 13)+                        -- "GenerateCode.ag"(line 254, column 13)                         _lhsOintra =                             _intraIexprs-                        -- "GenerateCode.ag"(line 245, column 13)+                        -- "GenerateCode.ag"(line 255, column 13)                         _lhsOintraVars =                             _intraIusedVars-                        -- "GenerateCode.ag"(line 357, column 13)+                        -- "GenerateCode.ag"(line 367, column 13)                         __tup4 =                             partition (\(_,_,ho) -> ho) _lhsIchildren-                        -- "GenerateCode.ag"(line 357, column 13)+                        -- "GenerateCode.ag"(line 367, column 13)                         (_higherOrderChildren,_) =                             __tup4-                        -- "GenerateCode.ag"(line 357, column 13)+                        -- "GenerateCode.ag"(line 367, column 13)                         (_,_firstOrderChildren) =                             __tup4-                        -- "GenerateCode.ag"(line 358, column 13)+                        -- "GenerateCode.ag"(line 368, column 13)                         _funcname =                             seqSemname _lhsIprefix _lhsInt _lhsIcon _lhsInr-                        -- "GenerateCode.ag"(line 359, column 13)+                        -- "GenerateCode.ag"(line 369, column 13)                         _nextVisitName =                             if _lhsIisLast then [] else [visitname _lhsIprefix _lhsInt (_lhsInr+1)]-                        -- "GenerateCode.ag"(line 360, column 13)+                        -- "GenerateCode.ag"(line 370, column 13)                         _nextVisitDecl =                             let  lhs = TupleLhs _nextVisitName                                  rhs = App fun _lhsInextIntra@@ -3415,39 +3424,39 @@                             in if _lhsIisLast                                then []                                else [Decl lhs rhs (Set.fromList _nextVisitName) _lhsInextIntraVars]-                        -- "GenerateCode.ag"(line 366, column 13)+                        -- "GenerateCode.ag"(line 376, column 13)                         _decls =                             _typeSigs ++ _vssIdecls ++ _nextVisitDecl-                        -- "GenerateCode.ag"(line 367, column 13)+                        -- "GenerateCode.ag"(line 377, column 13)                         _vssOlastExpr =                             mkTupleExpr _lhsIo_unbox (null $ Map.keys inh_) $ map (SimpleExpr . lhsname False) (Map.keys syn_) ++ map SimpleExpr _nextVisitName-                        -- "GenerateCode.ag"(line 368, column 13)+                        -- "GenerateCode.ag"(line 378, column 13)                         _intraOlastExpr =                             error "lastExpr: not used here"-                        -- "GenerateCode.ag"(line 369, column 13)+                        -- "GenerateCode.ag"(line 379, column 13)                         _lastExprVars =                             map (lhsname False) (Map.keys syn_) ++ _nextVisitName-                        -- "GenerateCode.ag"(line 370, column 13)+                        -- "GenerateCode.ag"(line 380, column 13)                         __tup5 =                             mkPartitionedFunction _funcname     _o_case     _nextVisitDecl     _lastExprVars     _vssIblockDecls-                        -- "GenerateCode.ag"(line 370, column 13)+                        -- "GenerateCode.ag"(line 380, column 13)                         (_blockFunDecls,_) =                             __tup5-                        -- "GenerateCode.ag"(line 370, column 13)+                        -- "GenerateCode.ag"(line 380, column 13)                         (_,_blockFirstFunCall) =                             __tup5-                        -- "GenerateCode.ag"(line 372, column 13)+                        -- "GenerateCode.ag"(line 382, column 13)                         _costCentreDescr =                             "b" ++ ":" ++ show _lhsInt ++ ":" ++ show _lhsIcon ++ ":" ++ show _lhsInr-                        -- "GenerateCode.ag"(line 373, column 13)+                        -- "GenerateCode.ag"(line 383, column 13)                         _addCostCentre =                             \v -> if _lhsIo_costcentre                                   then PragmaExpr True False ("SCC \"" ++ _costCentreDescr     ++ "\"") v                                   else v-                        -- "GenerateCode.ag"(line 377, column 13)+                        -- "GenerateCode.ag"(line 387, column 13)                         _params =                             map getName $ Map.findWithDefault [] _lhsInt _lhsIparamMap-                        -- "GenerateCode.ag"(line 378, column 13)+                        -- "GenerateCode.ag"(line 388, column 13)                         _semFun =                             let  lhs = Fun _funcname lhs_args                                  lhs_args = if _lhsInr == 0 then map field _firstOrderChildren     else _intraIexprs@@ -3474,10 +3483,10 @@                                             then \x -> App (typeName _lhsInt _lhsInr) [x]                                             else id                             in Decl lhs rhs Set.empty Set.empty-                        -- "GenerateCode.ag"(line 408, column 13)+                        -- "GenerateCode.ag"(line 418, column 13)                         _tsig =                             TSig _funcname _semType-                        -- "GenerateCode.ag"(line 409, column 13)+                        -- "GenerateCode.ag"(line 419, column 13)                         _semType =                             let argType (NT tp tps)  r   | tp /= _SELF = typeAppStrs (sdtype tp) tps `Arr` r                                                          | tp == _SELF = error "GenerateCode: found an intra-type with type SELF, which should have been prevented by CRule.tps"@@ -3488,7 +3497,7 @@                                if  _lhsInr == 0                                    then foldr argType (typeAppStrs (sdtype   _lhsInt        ) _params    ) (map (\(_,t,_) -> t) _firstOrderChildren    )                                    else foldr argType (typeAppStrs (typeName _lhsInt _lhsInr) _params    ) _intraItps-                        -- "GenerateCode.ag"(line 420, column 13)+                        -- "GenerateCode.ag"(line 430, column 13)                         _lhsOdecls =                             ( if  _lhsIwith_sig                               then [_tsig, _semFun]@@ -3498,45 +3507,45 @@                               then _blockFunDecls                               else []                             )-                        -- "GenerateCode.ag"(line 428, column 13)+                        -- "GenerateCode.ag"(line 438, column 13)                         _typeSigs =                             if  _lhsIo_sig && not _o_case                                 then  _vssItSigs                                 else  []-                        -- "GenerateCode.ag"(line 431, column 13)+                        -- "GenerateCode.ag"(line 441, column 13)                         _o_case =                             _lhsIo_case && ordered_ && not (hasPragma _lhsIallPragmas _lhsInt _lhsIcon _NOCASE)-                        -- "GenerateCode.ag"(line 432, column 13)+                        -- "GenerateCode.ag"(line 442, column 13)                         _o_splitsems =                             ordered_ && _lhsIo_splitsems-                        -- "GenerateCode.ag"(line 454, column 7)+                        -- "GenerateCode.ag"(line 464, column 7)                         _lhsOgatherInstVisitNrs =                             Map.fromList [(i,_lhsInr) | i <- _vssIdefinedInsts]-                        -- "GenerateCode.ag"(line 465, column 7)+                        -- "GenerateCode.ag"(line 475, column 7)                         _vssOdeclsAbove =                             []-                        -- "GenerateCode.ag"(line 466, column 7)+                        -- "GenerateCode.ag"(line 476, column 7)                         _intraOdeclsAbove =                             error "declsAbove: not used here"-                        -- "GenerateCode.ag"(line 712, column 13)+                        -- "GenerateCode.ag"(line 722, column 13)                         _lhsOallTpsFound =                             _intraIallTpsFound-                        -- "GenerateCode.ag"(line 723, column 13)+                        -- "GenerateCode.ag"(line 733, column 13)                         _lhsOerrors =                             _intraIerrors-                        -- "GenerateCode.ag"(line 756, column 18)+                        -- "GenerateCode.ag"(line 766, column 18)                         _lhsOcomments =                             let body = map ind (_vssIcomments ++ _intraIcomments)                             in if null body                                then []                                else ("visit " ++ show _lhsInr ++ ":") : body-                        -- "GenerateCode.ag"(line 760, column 18)+                        -- "GenerateCode.ag"(line 770, column 18)                         _vssOwhat =                             "local"-                        -- "GenerateCode.ag"(line 761, column 18)+                        -- "GenerateCode.ag"(line 771, column 18)                         _intraOwhat =                             "intra"-                        -- "GenerateCode.ag"(line 995, column 7)+                        -- "GenerateCode.ag"(line 1005, column 7)                         _lhsOsemNames =                             [_funcname    ]                         -- copy rule (down)@@ -3942,43 +3951,43 @@                          _tlIintraVars :: (Set String)                          _tlIisNil :: Bool                          _tlIsemNames :: ([String])-                         -- "GenerateCode.ag"(line 216, column 11)+                         -- "GenerateCode.ag"(line 226, column 11)                          _tlOnr =                              _lhsInr + 1-                         -- "GenerateCode.ag"(line 229, column 12)+                         -- "GenerateCode.ag"(line 239, column 12)                          _lhsOisNil =                              False-                         -- "GenerateCode.ag"(line 230, column 12)+                         -- "GenerateCode.ag"(line 240, column 12)                          _hdOisLast =                              _tlIisNil-                         -- "GenerateCode.ag"(line 247, column 12)+                         -- "GenerateCode.ag"(line 257, column 12)                          _hdOnextIntra =                              _tlIintra-                         -- "GenerateCode.ag"(line 248, column 12)+                         -- "GenerateCode.ag"(line 258, column 12)                          _hdOnextIntraVars =                              _tlIintraVars-                         -- "GenerateCode.ag"(line 249, column 12)+                         -- "GenerateCode.ag"(line 259, column 12)                          _lhsOintra =                              _hdIintra-                         -- "GenerateCode.ag"(line 250, column 12)+                         -- "GenerateCode.ag"(line 260, column 12)                          _lhsOintraVars =                              _hdIintraVars-                         -- use rule "GenerateCode.ag"(line 706, column 39)+                         -- use rule "GenerateCode.ag"(line 716, column 39)                          _lhsOallTpsFound =                              _hdIallTpsFound && _tlIallTpsFound-                         -- use rule "GenerateCode.ag"(line 738, column 52)+                         -- use rule "GenerateCode.ag"(line 748, column 52)                          _lhsOcomments =                              _hdIcomments ++ _tlIcomments-                         -- use rule "GenerateCode.ag"(line 355, column 33)+                         -- use rule "GenerateCode.ag"(line 365, column 33)                          _lhsOdecls =                              _hdIdecls ++ _tlIdecls-                         -- use rule "GenerateCode.ag"(line 719, column 32)+                         -- use rule "GenerateCode.ag"(line 729, column 32)                          _lhsOerrors =                              _hdIerrors Seq.>< _tlIerrors-                         -- use rule "GenerateCode.ag"(line 447, column 44)+                         -- use rule "GenerateCode.ag"(line 457, column 44)                          _lhsOgatherInstVisitNrs =                              _hdIgatherInstVisitNrs `Map.union` _tlIgatherInstVisitNrs-                         -- use rule "GenerateCode.ag"(line 985, column 61)+                         -- use rule "GenerateCode.ag"(line 995, column 61)                          _lhsOsemNames =                              _hdIsemNames ++ _tlIsemNames                          -- copy rule (down)@@ -4211,31 +4220,31 @@                          _lhsOerrors :: (Seq Error)                          _lhsOgatherInstVisitNrs :: (Map Identifier Int)                          _lhsOsemNames :: ([String])-                         -- "GenerateCode.ag"(line 231, column 10)+                         -- "GenerateCode.ag"(line 241, column 10)                          _lhsOisNil =                              True-                         -- "GenerateCode.ag"(line 251, column 10)+                         -- "GenerateCode.ag"(line 261, column 10)                          _lhsOintra =                              []-                         -- "GenerateCode.ag"(line 252, column 10)+                         -- "GenerateCode.ag"(line 262, column 10)                          _lhsOintraVars =                              Set.empty-                         -- use rule "GenerateCode.ag"(line 706, column 39)+                         -- use rule "GenerateCode.ag"(line 716, column 39)                          _lhsOallTpsFound =                              True-                         -- use rule "GenerateCode.ag"(line 738, column 52)+                         -- use rule "GenerateCode.ag"(line 748, column 52)                          _lhsOcomments =                              []-                         -- use rule "GenerateCode.ag"(line 355, column 33)+                         -- use rule "GenerateCode.ag"(line 365, column 33)                          _lhsOdecls =                              []-                         -- use rule "GenerateCode.ag"(line 719, column 32)+                         -- use rule "GenerateCode.ag"(line 729, column 32)                          _lhsOerrors =                              Seq.empty-                         -- use rule "GenerateCode.ag"(line 447, column 44)+                         -- use rule "GenerateCode.ag"(line 457, column 44)                          _lhsOgatherInstVisitNrs =                              Map.empty-                         -- use rule "GenerateCode.ag"(line 985, column 61)+                         -- use rule "GenerateCode.ag"(line 995, column 61)                          _lhsOsemNames =                              []                      in  ( _lhsOallTpsFound,_lhsOcomments,_lhsOdecls,_lhsOerrors,_lhsOgatherInstVisitNrs,_lhsOintra,_lhsOintraVars,_lhsOisNil,_lhsOsemNames))) )@@ -4314,25 +4323,25 @@                             _nextIcallExpr :: Expr                             _nextIdecls :: ([Decl])                             _nextIfreeVars :: ([String])-                            -- "GenerateCode.ag"(line 544, column 7)+                            -- "GenerateCode.ag"(line 554, column 7)                             _nextOblockNr =                                 _lhsIblockNr + 1-                            -- "GenerateCode.ag"(line 549, column 7)+                            -- "GenerateCode.ag"(line 559, column 7)                             _lambdaName =                                 _lhsIprefix ++ "_block" ++ show _lhsIblockNr-                            -- "GenerateCode.ag"(line 550, column 7)+                            -- "GenerateCode.ag"(line 560, column 7)                             _pragmaDecl =                                 PragmaDecl ("NOINLINE " ++ _lambdaName    )-                            -- "GenerateCode.ag"(line 551, column 7)+                            -- "GenerateCode.ag"(line 561, column 7)                             _lhsOcallExpr =                                 App _lambdaName     (map SimpleExpr _freeVars    )-                            -- "GenerateCode.ag"(line 555, column 7)+                            -- "GenerateCode.ag"(line 565, column 7)                             _freeVars =                                 freevars _nextIfreeVars (visit_ : defs_)-                            -- "GenerateCode.ag"(line 562, column 7)+                            -- "GenerateCode.ag"(line 572, column 7)                             _decl =                                 mkBlockLambda _lhsIoptCase _lambdaName     _freeVars     (defs_ ++ [visit_]) _nextIcallExpr-                            -- "GenerateCode.ag"(line 563, column 7)+                            -- "GenerateCode.ag"(line 573, column 7)                             _lhsOdecls =                                 (if _lhsIblockNr > 1 then [_pragmaDecl    ] else []) ++ [_decl    ] ++ _nextIdecls                             -- copy rule (from local)@@ -4365,19 +4374,19 @@                        (let _lhsOcallExpr :: Expr                             _lhsOdecls :: ([Decl])                             _lhsOfreeVars :: ([String])-                            -- "GenerateCode.ag"(line 549, column 7)+                            -- "GenerateCode.ag"(line 559, column 7)                             _lambdaName =                                 _lhsIprefix ++ "_block" ++ show _lhsIblockNr-                            -- "GenerateCode.ag"(line 550, column 7)+                            -- "GenerateCode.ag"(line 560, column 7)                             _pragmaDecl =                                 PragmaDecl ("NOINLINE " ++ _lambdaName    )-                            -- "GenerateCode.ag"(line 551, column 7)+                            -- "GenerateCode.ag"(line 561, column 7)                             _lhsOcallExpr =                                 App _lambdaName     (map SimpleExpr _freeVars    )-                            -- "GenerateCode.ag"(line 553, column 7)+                            -- "GenerateCode.ag"(line 563, column 7)                             _freeVars =                                 freevars _lhsIlastExprVars (defs_ ++ _lhsInextVisitDecls)-                            -- "GenerateCode.ag"(line 560, column 7)+                            -- "GenerateCode.ag"(line 570, column 7)                             _lhsOdecls =                                 [ mkBlockLambda _lhsIoptCase _lambdaName     _freeVars     (defs_ ++ _lhsInextVisitDecls) result_ ]                             -- copy rule (from local)@@ -4436,13 +4445,13 @@                                 _blocksIcallExpr :: Expr                                 _blocksIdecls :: ([Decl])                                 _blocksIfreeVars :: ([String])-                                -- "GenerateCode.ag"(line 535, column 7)+                                -- "GenerateCode.ag"(line 545, column 7)                                 _lhsOlambdas =                                     _blocksIdecls-                                -- "GenerateCode.ag"(line 536, column 7)+                                -- "GenerateCode.ag"(line 546, column 7)                                 _lhsOfirstCall =                                     _blocksIcallExpr-                                -- "GenerateCode.ag"(line 541, column 7)+                                -- "GenerateCode.ag"(line 551, column 7)                                 _blocksOblockNr =                                     1                                 -- copy rule (down)@@ -4533,10 +4542,10 @@                     _partsIcopy :: Patterns                     _partsIdefinedInsts :: ([Identifier])                     _partsIpatternAttributes :: ([(Identifier, Identifier)])-                    -- "GenerateCode.ag"(line 197, column 11)+                    -- "GenerateCode.ag"(line 207, column 11)                     _lhsOdefinedInsts =                         (if field_ == _INST then [attr_] else []) ++ _patIdefinedInsts-                    -- "GenerateCode.ag"(line 205, column 7)+                    -- "GenerateCode.ag"(line 215, column 7)                     _lhsOpatternAttributes =                         (field_,attr_) : (_patIpatternAttributes ++ _partsIpatternAttributes)                     -- self rule@@ -4560,10 +4569,10 @@                     _patsIcopy :: Patterns                     _patsIdefinedInsts :: ([Identifier])                     _patsIpatternAttributes :: ([(Identifier, Identifier)])-                    -- use rule "GenerateCode.ag"(line 195, column 55)+                    -- use rule "GenerateCode.ag"(line 205, column 55)                     _lhsOdefinedInsts =                         _patsIdefinedInsts-                    -- use rule "GenerateCode.ag"(line 202, column 47)+                    -- use rule "GenerateCode.ag"(line 212, column 47)                     _lhsOpatternAttributes =                         _patsIpatternAttributes                     -- self rule@@ -4584,10 +4593,10 @@                     _patIcopy :: Pattern                     _patIdefinedInsts :: ([Identifier])                     _patIpatternAttributes :: ([(Identifier, Identifier)])-                    -- use rule "GenerateCode.ag"(line 195, column 55)+                    -- use rule "GenerateCode.ag"(line 205, column 55)                     _lhsOdefinedInsts =                         _patIdefinedInsts-                    -- use rule "GenerateCode.ag"(line 202, column 47)+                    -- use rule "GenerateCode.ag"(line 212, column 47)                     _lhsOpatternAttributes =                         _patIpatternAttributes                     -- self rule@@ -4609,10 +4618,10 @@                     _patsIcopy :: Patterns                     _patsIdefinedInsts :: ([Identifier])                     _patsIpatternAttributes :: ([(Identifier, Identifier)])-                    -- use rule "GenerateCode.ag"(line 195, column 55)+                    -- use rule "GenerateCode.ag"(line 205, column 55)                     _lhsOdefinedInsts =                         _patsIdefinedInsts-                    -- use rule "GenerateCode.ag"(line 202, column 47)+                    -- use rule "GenerateCode.ag"(line 212, column 47)                     _lhsOpatternAttributes =                         _patsIpatternAttributes                     -- self rule@@ -4630,10 +4639,10 @@     (T_Pattern (let _lhsOdefinedInsts :: ([Identifier])                     _lhsOpatternAttributes :: ([(Identifier, Identifier)])                     _lhsOcopy :: Pattern-                    -- use rule "GenerateCode.ag"(line 195, column 55)+                    -- use rule "GenerateCode.ag"(line 205, column 55)                     _lhsOdefinedInsts =                         []-                    -- use rule "GenerateCode.ag"(line 202, column 47)+                    -- use rule "GenerateCode.ag"(line 212, column 47)                     _lhsOpatternAttributes =                         []                     -- self rule@@ -4689,10 +4698,10 @@                      _tlIcopy :: Patterns                      _tlIdefinedInsts :: ([Identifier])                      _tlIpatternAttributes :: ([(Identifier, Identifier)])-                     -- use rule "GenerateCode.ag"(line 195, column 55)+                     -- use rule "GenerateCode.ag"(line 205, column 55)                      _lhsOdefinedInsts =                          _hdIdefinedInsts ++ _tlIdefinedInsts-                     -- use rule "GenerateCode.ag"(line 202, column 47)+                     -- use rule "GenerateCode.ag"(line 212, column 47)                      _lhsOpatternAttributes =                          _hdIpatternAttributes ++ _tlIpatternAttributes                      -- self rule@@ -4711,10 +4720,10 @@     (T_Patterns (let _lhsOdefinedInsts :: ([Identifier])                      _lhsOpatternAttributes :: ([(Identifier, Identifier)])                      _lhsOcopy :: Patterns-                     -- use rule "GenerateCode.ag"(line 195, column 55)+                     -- use rule "GenerateCode.ag"(line 205, column 55)                      _lhsOdefinedInsts =                          []-                     -- use rule "GenerateCode.ag"(line 202, column 47)+                     -- use rule "GenerateCode.ag"(line 212, column 47)                      _lhsOpatternAttributes =                          []                      -- self rule@@ -4957,34 +4966,34 @@                           _tlItSigs :: ([Decl])                           _tlItps :: ([Type])                           _tlIusedVars :: (Set String)-                          -- "GenerateCode.ag"(line 476, column 7)+                          -- "GenerateCode.ag"(line 486, column 7)                           _lhsOblockDecls =                               _hdIbldBlocksFun _tlIblockDecls-                          -- use rule "GenerateCode.ag"(line 344, column 39)+                          -- use rule "GenerateCode.ag"(line 354, column 39)                           _lhsOallTpsFound =                               _hdIallTpsFound && _tlIallTpsFound-                          -- use rule "GenerateCode.ag"(line 738, column 52)+                          -- use rule "GenerateCode.ag"(line 748, column 52)                           _lhsOcomments =                               _hdIcomments ++ _tlIcomments                           -- use rule "GenerateCode.ag"(line 138, column 34)                           _lhsOdecls =                               _hdIdecls ++ _tlIdecls-                          -- use rule "GenerateCode.ag"(line 195, column 55)+                          -- use rule "GenerateCode.ag"(line 205, column 55)                           _lhsOdefinedInsts =                               _hdIdefinedInsts ++ _tlIdefinedInsts-                          -- use rule "GenerateCode.ag"(line 719, column 32)+                          -- use rule "GenerateCode.ag"(line 729, column 32)                           _lhsOerrors =                               _hdIerrors Seq.>< _tlIerrors-                          -- use rule "GenerateCode.ag"(line 268, column 34)+                          -- use rule "GenerateCode.ag"(line 278, column 34)                           _lhsOexprs =                               _hdIexprs ++ _tlIexprs-                          -- use rule "GenerateCode.ag"(line 297, column 33)+                          -- use rule "GenerateCode.ag"(line 307, column 33)                           _lhsOtSigs =                               _hdItSigs ++ _tlItSigs-                          -- use rule "GenerateCode.ag"(line 343, column 31)+                          -- use rule "GenerateCode.ag"(line 353, column 31)                           _lhsOtps =                               _hdItps ++ _tlItps-                          -- use rule "GenerateCode.ag"(line 286, column 37)+                          -- use rule "GenerateCode.ag"(line 296, column 37)                           _lhsOusedVars =                               _hdIusedVars `Set.union` _tlIusedVars                           -- copy rule (up)@@ -5229,34 +5238,34 @@                           _lhsOtps :: ([Type])                           _lhsOusedVars :: (Set String)                           _lhsOdeclsAbove :: ([Decl])-                          -- "GenerateCode.ag"(line 478, column 7)+                          -- "GenerateCode.ag"(line 488, column 7)                           _lhsOblockDecls =                               DeclTerminator _lhsIdeclsAbove _lhsIlastExpr-                          -- use rule "GenerateCode.ag"(line 344, column 39)+                          -- use rule "GenerateCode.ag"(line 354, column 39)                           _lhsOallTpsFound =                               True-                          -- use rule "GenerateCode.ag"(line 738, column 52)+                          -- use rule "GenerateCode.ag"(line 748, column 52)                           _lhsOcomments =                               []                           -- use rule "GenerateCode.ag"(line 138, column 34)                           _lhsOdecls =                               []-                          -- use rule "GenerateCode.ag"(line 195, column 55)+                          -- use rule "GenerateCode.ag"(line 205, column 55)                           _lhsOdefinedInsts =                               []-                          -- use rule "GenerateCode.ag"(line 719, column 32)+                          -- use rule "GenerateCode.ag"(line 729, column 32)                           _lhsOerrors =                               Seq.empty-                          -- use rule "GenerateCode.ag"(line 268, column 34)+                          -- use rule "GenerateCode.ag"(line 278, column 34)                           _lhsOexprs =                               []-                          -- use rule "GenerateCode.ag"(line 297, column 33)+                          -- use rule "GenerateCode.ag"(line 307, column 33)                           _lhsOtSigs =                               []-                          -- use rule "GenerateCode.ag"(line 343, column 31)+                          -- use rule "GenerateCode.ag"(line 353, column 31)                           _lhsOtps =                               []-                          -- use rule "GenerateCode.ag"(line 286, column 37)+                          -- use rule "GenerateCode.ag"(line 296, column 37)                           _lhsOusedVars =                               Set.empty                           -- copy rule (chain)
src-derived/PrintCode.hs view
@@ -1409,6 +1409,9 @@             local hasStrictVars : _             local strictGuard : _             local addStrictGuard : _+      alternative Unwrap:+         child name           : {String}+         child sub            : Lhs  -} -- cata sem_Lhs :: Lhs  ->@@ -1423,6 +1426,8 @@     (sem_Lhs_TupleLhs _comps ) sem_Lhs !(UnboxedTupleLhs _comps )  =     (sem_Lhs_UnboxedTupleLhs _comps )+sem_Lhs !(Unwrap _name _sub )  =+    (sem_Lhs_Unwrap _name (sem_Lhs _sub ) ) -- semantic domain newtype T_Lhs  = T_Lhs (Bool ->                         Bool ->@@ -1553,6 +1558,27 @@                     (case (_addStrictGuard     $ ppUnboxedTuple _lhsInested (map (_addBang     . text) comps_)) of                      { !_lhsOpp ->                      ( _lhsOpp) }) }) }) }) })) )+sem_Lhs_Unwrap :: String ->+                  T_Lhs  ->+                  T_Lhs +sem_Lhs_Unwrap !name_ !(T_Lhs sub_ )  =+    (T_Lhs (\ (!_lhsIisDeclOfLet)+              (!_lhsInested)+              (!_lhsIoptions)+              (!_lhsIoutputfile) ->+                (case (_lhsIoutputfile) of+                 { !_subOoutputfile ->+                 (case (_lhsIoptions) of+                  { !_subOoptions ->+                  (case (_lhsInested) of+                   { !_subOnested ->+                   (case (_lhsIisDeclOfLet) of+                    { !_subOisDeclOfLet ->+                    (case ((sub_ _subOisDeclOfLet _subOnested _subOoptions _subOoutputfile )) of+                     { ( !_subIpp) ->+                     (case (pp_parens (name_ >#< _subIpp)) of+                      { !_lhsOpp ->+                      ( _lhsOpp) }) }) }) }) }) })) ) -- Pattern ----------------------------------------------------- {-    visit 0:
src-derived/Transform.hs view
@@ -135,9 +135,10 @@            else (TypeSig ide typ:sigs, errs)     in  foldr checkSig ([],Seq.empty) sis -checkInsts :: Set NontermIdent -> Map NontermIdent (Map ConstructorIdent [SigInfo]) -> NontermIdent -> ConstructorIdent -> [Identifier] -> InstsAndErrors-checkInsts allNts sigMap nt con+checkInsts :: Set NontermIdent -> Map NontermIdent (Map ConstructorIdent [SigInfo]) -> Map NontermIdent (Map ConstructorIdent [(Identifier, Type)]) -> NontermIdent -> ConstructorIdent -> [Identifier] -> InstsAndErrors+checkInsts allNts sigMap fieldMap nt con   = foldr (\inst (insts, errs) ->+      checkDup inst insts errs $                maybe (insts, Seq.singleton (MissingInstSig nt con inst) >< errs)                     (\info@(_, NT nm _) -> case nm `Set.member` allNts of                                              True  -> (info : insts, errs)@@ -155,6 +156,15 @@     findSig name       = do tp@(NT _ _) <- lookup name sigs            return (name, tp)+    +    checkDup name insts errs e+      = let fields = Map.findWithDefault [] con $ Map.findWithDefault Map.empty nt fieldMap+            walk [] = Nothing+            walk ((i,_): fs) | i == name = Just name+                             | otherwise = walk fs+        in case walk fields of+             Just occ -> (insts, Seq.singleton (DupChild nt con name occ) >< errs)+             Nothing  -> e  checkUniques :: Map NontermIdent (Attributes, Attributes) -> NontermIdent -> ConstructorIdent -> [UniqueInfo] -> UniquesAndErrors checkUniques allAttrs nt con uniques@@ -487,7 +497,7 @@                         Map.mapWithKey (Map.mapWithKey . (checkSigs                                                 )) _allSigs                     -- "Transform.ag"(line 268, column 10)                     _allInstsErrs =-                        Map.mapWithKey (Map.mapWithKey . (checkInsts _allNonterminals     _allSigs                  )) _allInsts+                        Map.mapWithKey (Map.mapWithKey . (checkInsts _allNonterminals     _allSigs     _allFields   )) _allInsts                     -- "Transform.ag"(line 269, column 10)                     _allUniquesErrs =                         Map.mapWithKey (Map.mapWithKey . (checkUniques _allAttrDecls                                )) _allUniques@@ -548,22 +558,22 @@                     -- "Transform.ag"(line 305, column 10)                     _lhsOerrors =                         _elemsIerrors >< _errs1 >< _errs2 >< _errs3 >< _errs4 >< _errs5 >< _errs6 >< _errs7 >< _errs8-                    -- "Transform.ag"(line 455, column 10)+                    -- "Transform.ag"(line 465, column 10)                     _allNonterminals =                         _elemsIcollectedNames `Set.difference` _elemsIcollectedSetNames-                    -- "Transform.ag"(line 475, column 8)+                    -- "Transform.ag"(line 485, column 8)                     _elemsOallConstructors =                         _elemsIcollectedConstructorsMap-                    -- "Transform.ag"(line 548, column 8)+                    -- "Transform.ag"(line 558, column 8)                     _elemsOdefSets =                         Map.fromList (map (\x->(x,(Set.singleton x, Set.empty))) (Set.toList _allNonterminals    ))-                    -- "Transform.ag"(line 549, column 8)+                    -- "Transform.ag"(line 559, column 8)                     _elemsOdefinedSets =                         Map.map fst _elemsIdefSets-                    -- "Transform.ag"(line 801, column 8)+                    -- "Transform.ag"(line 811, column 8)                     _elemsOattrDecls =                         Map.empty-                    -- "Transform.ag"(line 840, column 9)+                    -- "Transform.ag"(line 850, column 9)                     _allAttrDecls =                         if withSelf _lhsIoptions                          then foldr addSelf _elemsIattrDecls (Set.toList _allNonterminals    )@@ -571,10 +581,10 @@                     -- use rule "Transform.ag"(line 44, column 19)                     _lhsOblocks =                         _elemsIblocks-                    -- use rule "Transform.ag"(line 943, column 37)+                    -- use rule "Transform.ag"(line 953, column 37)                     _lhsOmoduleDecl =                         _elemsImoduleDecl-                    -- use rule "Transform.ag"(line 630, column 34)+                    -- use rule "Transform.ag"(line 640, column 34)                     _lhsOpragmas =                         _elemsIpragmas                     -- copy rule (from local)@@ -810,16 +820,16 @@                   (let _lhsOuseMap :: (Map NontermIdent (Map Identifier (String,String,String)))                        _lhsOerrors :: (Seq Error)                        _lhsOattrDecls :: (Map NontermIdent (Attributes, Attributes))-                       -- "Transform.ag"(line 809, column 15)+                       -- "Transform.ag"(line 819, column 15)                        __tup1 =                            checkAttrs _lhsIallFields (Set.toList _lhsInts) _inherited _synthesized _lhsIattrDecls-                       -- "Transform.ag"(line 809, column 15)+                       -- "Transform.ag"(line 819, column 15)                        (_attrDecls,_) =                            __tup1-                       -- "Transform.ag"(line 809, column 15)+                       -- "Transform.ag"(line 819, column 15)                        (_,_errors) =                            __tup1-                       -- "Transform.ag"(line 811, column 15)+                       -- "Transform.ag"(line 821, column 15)                        __tup2 =                            let splitAttrs xs = unzip [ ((n,makeType _lhsIallNonterminals t),(n,ud))                                                      | (n,t,ud) <- xs@@ -829,16 +839,16 @@                                (syn,uses2) = splitAttrs syn_                                isUse (n,(e1,e2,_)) = not (null e1 || null e2)                            in (inh++chn,chn++syn, Map.fromList (Prelude.filter isUse (uses1++uses2)))-                       -- "Transform.ag"(line 811, column 15)+                       -- "Transform.ag"(line 821, column 15)                        (_inherited,_,_) =                            __tup2-                       -- "Transform.ag"(line 811, column 15)+                       -- "Transform.ag"(line 821, column 15)                        (_,_synthesized,_) =                            __tup2-                       -- "Transform.ag"(line 811, column 15)+                       -- "Transform.ag"(line 821, column 15)                        (_,_,_useMap) =                            __tup2-                       -- "Transform.ag"(line 819, column 11)+                       -- "Transform.ag"(line 829, column 11)                        _lhsOuseMap =                            Map.fromList (zip (Set.toList _lhsInts) (repeat _useMap))                        -- use rule "Transform.ag"(line 42, column 19)@@ -893,7 +903,7 @@     (T_ConstructorSet (let _lhsOconstructors :: ((Set ConstructorIdent->Set ConstructorIdent))                            _lhsOcollectedConstructorNames :: (Set ConstructorIdent)                            _lhsOerrors :: (Seq Error)-                           -- "Transform.ag"(line 615, column 17)+                           -- "Transform.ag"(line 625, column 17)                            _lhsOconstructors =                                \ds -> ds                            -- use rule "Transform.ag"(line 90, column 62)@@ -916,7 +926,7 @@                            _set2IcollectedConstructorNames :: (Set ConstructorIdent)                            _set2Iconstructors :: ((Set ConstructorIdent->Set ConstructorIdent))                            _set2Ierrors :: (Seq Error)-                           -- "Transform.ag"(line 614, column 17)+                           -- "Transform.ag"(line 624, column 17)                            _lhsOconstructors =                                \ds -> _set1Iconstructors ds `Set.difference` _set2Iconstructors ds                            -- use rule "Transform.ag"(line 90, column 62)@@ -936,10 +946,10 @@     (T_ConstructorSet (let _lhsOcollectedConstructorNames :: (Set ConstructorIdent)                            _lhsOconstructors :: ((Set ConstructorIdent->Set ConstructorIdent))                            _lhsOerrors :: (Seq Error)-                           -- "Transform.ag"(line 463, column 11)+                           -- "Transform.ag"(line 473, column 11)                            _lhsOcollectedConstructorNames =                                Set.singleton name_-                           -- "Transform.ag"(line 612, column 17)+                           -- "Transform.ag"(line 622, column 17)                            _lhsOconstructors =                                \ds -> Set.singleton name_                            -- use rule "Transform.ag"(line 42, column 19)@@ -959,7 +969,7 @@                            _set2IcollectedConstructorNames :: (Set ConstructorIdent)                            _set2Iconstructors :: ((Set ConstructorIdent->Set ConstructorIdent))                            _set2Ierrors :: (Seq Error)-                           -- "Transform.ag"(line 613, column 17)+                           -- "Transform.ag"(line 623, column 17)                            _lhsOconstructors =                                \ds -> _set1Iconstructors ds `Set.union`      _set2Iconstructors ds                            -- use rule "Transform.ag"(line 90, column 62)@@ -1158,15 +1168,15 @@                       _attrsIattrDecls :: (Map NontermIdent (Attributes, Attributes))                       _attrsIerrors :: (Seq Error)                       _attrsIuseMap :: (Map NontermIdent (Map Identifier (String,String,String)))-                      -- "Transform.ag"(line 761, column 7)+                      -- "Transform.ag"(line 771, column 7)                       _lhsOctxCollect =                           if null ctx_                           then Map.empty                           else Map.fromList [(nt, ctx_) | nt <- Set.toList _namesInontSet]-                      -- "Transform.ag"(line 805, column 10)+                      -- "Transform.ag"(line 815, column 10)                       _attrsOnts =                           _namesInontSet-                      -- use rule "Transform.ag"(line 702, column 55)+                      -- use rule "Transform.ag"(line 712, column 55)                       _lhsOattrOrderCollect =                           Map.empty                       -- use rule "Transform.ag"(line 44, column 19)@@ -1199,31 +1209,31 @@                       -- use rule "Transform.ag"(line 149, column 32)                       _lhsOcollectedUniques =                           []-                      -- use rule "Transform.ag"(line 782, column 33)+                      -- use rule "Transform.ag"(line 792, column 33)                       _lhsOderivings =                           Map.empty                       -- use rule "Transform.ag"(line 42, column 19)                       _lhsOerrors =                           _namesIerrors Seq.>< _attrsIerrors-                      -- use rule "Transform.ag"(line 943, column 37)+                      -- use rule "Transform.ag"(line 953, column 37)                       _lhsOmoduleDecl =                           mzero-                      -- use rule "Transform.ag"(line 734, column 37)+                      -- use rule "Transform.ag"(line 744, column 37)                       _lhsOparamsCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 630, column 34)+                      -- use rule "Transform.ag"(line 640, column 34)                       _lhsOpragmas =                           id-                      -- use rule "Transform.ag"(line 674, column 56)+                      -- use rule "Transform.ag"(line 684, column 56)                       _lhsOsemPragmasCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 490, column 32)+                      -- use rule "Transform.ag"(line 500, column 32)                       _lhsOtypeSyns =                           []                       -- use rule "Transform.ag"(line 134, column 15)                       _lhsOuseMap =                           _attrsIuseMap-                      -- use rule "Transform.ag"(line 621, column 32)+                      -- use rule "Transform.ag"(line 631, column 32)                       _lhsOwrappers =                           Set.empty                       -- copy rule (up)@@ -1315,26 +1325,26 @@                       -- "Transform.ag"(line 163, column 10)                       _altsOnts =                           _namesInontSet-                      -- "Transform.ag"(line 469, column 11)+                      -- "Transform.ag"(line 479, column 11)                       _lhsOcollectedConstructorsMap =                           Map.fromList                           [ (n, _altsIcollectedConstructorNames)                           | n <- Set.toList _namesInontSet                           ]-                      -- "Transform.ag"(line 738, column 7)+                      -- "Transform.ag"(line 748, column 7)                       _lhsOparamsCollect =                           if null params_                           then Map.empty                           else Map.fromList [(nt, params_) | nt <- Set.toList _namesInontSet]-                      -- "Transform.ag"(line 761, column 7)+                      -- "Transform.ag"(line 771, column 7)                       _lhsOctxCollect =                           if null ctx_                           then Map.empty                           else Map.fromList [(nt, ctx_) | nt <- Set.toList _namesInontSet]-                      -- "Transform.ag"(line 804, column 10)+                      -- "Transform.ag"(line 814, column 10)                       _attrsOnts =                           _namesInontSet-                      -- use rule "Transform.ag"(line 702, column 55)+                      -- use rule "Transform.ag"(line 712, column 55)                       _lhsOattrOrderCollect =                           Map.empty                       -- use rule "Transform.ag"(line 44, column 19)@@ -1364,28 +1374,28 @@                       -- use rule "Transform.ag"(line 149, column 32)                       _lhsOcollectedUniques =                           []-                      -- use rule "Transform.ag"(line 782, column 33)+                      -- use rule "Transform.ag"(line 792, column 33)                       _lhsOderivings =                           Map.empty                       -- use rule "Transform.ag"(line 42, column 19)                       _lhsOerrors =                           _namesIerrors Seq.>< _attrsIerrors-                      -- use rule "Transform.ag"(line 943, column 37)+                      -- use rule "Transform.ag"(line 953, column 37)                       _lhsOmoduleDecl =                           mzero-                      -- use rule "Transform.ag"(line 630, column 34)+                      -- use rule "Transform.ag"(line 640, column 34)                       _lhsOpragmas =                           id-                      -- use rule "Transform.ag"(line 674, column 56)+                      -- use rule "Transform.ag"(line 684, column 56)                       _lhsOsemPragmasCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 490, column 32)+                      -- use rule "Transform.ag"(line 500, column 32)                       _lhsOtypeSyns =                           []                       -- use rule "Transform.ag"(line 134, column 15)                       _lhsOuseMap =                           _attrsIuseMap-                      -- use rule "Transform.ag"(line 621, column 32)+                      -- use rule "Transform.ag"(line 631, column 32)                       _lhsOwrappers =                           Set.empty                       -- copy rule (up)@@ -1466,10 +1476,10 @@                       _setIcollectedNames :: (Set Identifier)                       _setIerrors :: (Seq Error)                       _setInontSet :: (Set NontermIdent)-                      -- "Transform.ag"(line 789, column 14)+                      -- "Transform.ag"(line 799, column 14)                       _lhsOderivings =                           Map.fromList [(nt,Set.fromList classes_) | nt <- Set.toList _setInontSet]-                      -- use rule "Transform.ag"(line 702, column 55)+                      -- use rule "Transform.ag"(line 712, column 55)                       _lhsOattrOrderCollect =                           Map.empty                       -- use rule "Transform.ag"(line 44, column 19)@@ -1502,31 +1512,31 @@                       -- use rule "Transform.ag"(line 149, column 32)                       _lhsOcollectedUniques =                           []-                      -- use rule "Transform.ag"(line 757, column 34)+                      -- use rule "Transform.ag"(line 767, column 34)                       _lhsOctxCollect =                           Map.empty                       -- use rule "Transform.ag"(line 42, column 19)                       _lhsOerrors =                           _setIerrors-                      -- use rule "Transform.ag"(line 943, column 37)+                      -- use rule "Transform.ag"(line 953, column 37)                       _lhsOmoduleDecl =                           mzero-                      -- use rule "Transform.ag"(line 734, column 37)+                      -- use rule "Transform.ag"(line 744, column 37)                       _lhsOparamsCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 630, column 34)+                      -- use rule "Transform.ag"(line 640, column 34)                       _lhsOpragmas =                           id-                      -- use rule "Transform.ag"(line 674, column 56)+                      -- use rule "Transform.ag"(line 684, column 56)                       _lhsOsemPragmasCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 490, column 32)+                      -- use rule "Transform.ag"(line 500, column 32)                       _lhsOtypeSyns =                           []                       -- use rule "Transform.ag"(line 134, column 15)                       _lhsOuseMap =                           Map.empty-                      -- use rule "Transform.ag"(line 621, column 32)+                      -- use rule "Transform.ag"(line 631, column 32)                       _lhsOwrappers =                           Set.empty                       -- copy rule (chain)@@ -1583,10 +1593,10 @@                       _lhsOwrappers :: (Set NontermIdent)                       _lhsOattrDecls :: (Map NontermIdent (Attributes, Attributes))                       _lhsOdefSets :: (Map Identifier (Set NontermIdent,Set Identifier))-                      -- "Transform.ag"(line 947, column 7)+                      -- "Transform.ag"(line 957, column 7)                       _lhsOmoduleDecl =                           Just (name_, exports_, imports_)-                      -- use rule "Transform.ag"(line 702, column 55)+                      -- use rule "Transform.ag"(line 712, column 55)                       _lhsOattrOrderCollect =                           Map.empty                       -- use rule "Transform.ag"(line 44, column 19)@@ -1619,31 +1629,31 @@                       -- use rule "Transform.ag"(line 149, column 32)                       _lhsOcollectedUniques =                           []-                      -- use rule "Transform.ag"(line 757, column 34)+                      -- use rule "Transform.ag"(line 767, column 34)                       _lhsOctxCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 782, column 33)+                      -- use rule "Transform.ag"(line 792, column 33)                       _lhsOderivings =                           Map.empty                       -- use rule "Transform.ag"(line 42, column 19)                       _lhsOerrors =                           Seq.empty-                      -- use rule "Transform.ag"(line 734, column 37)+                      -- use rule "Transform.ag"(line 744, column 37)                       _lhsOparamsCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 630, column 34)+                      -- use rule "Transform.ag"(line 640, column 34)                       _lhsOpragmas =                           id-                      -- use rule "Transform.ag"(line 674, column 56)+                      -- use rule "Transform.ag"(line 684, column 56)                       _lhsOsemPragmasCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 490, column 32)+                      -- use rule "Transform.ag"(line 500, column 32)                       _lhsOtypeSyns =                           []                       -- use rule "Transform.ag"(line 134, column 15)                       _lhsOuseMap =                           Map.empty-                      -- use rule "Transform.ag"(line 621, column 32)+                      -- use rule "Transform.ag"(line 631, column 32)                       _lhsOwrappers =                           Set.empty                       -- copy rule (chain)@@ -1687,7 +1697,7 @@                       _lhsOwrappers :: (Set NontermIdent)                       _lhsOattrDecls :: (Map NontermIdent (Attributes, Attributes))                       _lhsOdefSets :: (Map Identifier (Set NontermIdent,Set Identifier))-                      -- "Transform.ag"(line 633, column 13)+                      -- "Transform.ag"(line 643, column 13)                       _lhsOpragmas =                           let mk n o = case getName n of                                          "gencatas"     -> o { folds       = True  }@@ -1729,7 +1739,7 @@                                          "nonewtypes"     -> o { newtypes = False }                                          _              -> o                           in \o -> foldr mk o names_-                      -- use rule "Transform.ag"(line 702, column 55)+                      -- use rule "Transform.ag"(line 712, column 55)                       _lhsOattrOrderCollect =                           Map.empty                       -- use rule "Transform.ag"(line 44, column 19)@@ -1762,31 +1772,31 @@                       -- use rule "Transform.ag"(line 149, column 32)                       _lhsOcollectedUniques =                           []-                      -- use rule "Transform.ag"(line 757, column 34)+                      -- use rule "Transform.ag"(line 767, column 34)                       _lhsOctxCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 782, column 33)+                      -- use rule "Transform.ag"(line 792, column 33)                       _lhsOderivings =                           Map.empty                       -- use rule "Transform.ag"(line 42, column 19)                       _lhsOerrors =                           Seq.empty-                      -- use rule "Transform.ag"(line 943, column 37)+                      -- use rule "Transform.ag"(line 953, column 37)                       _lhsOmoduleDecl =                           mzero-                      -- use rule "Transform.ag"(line 734, column 37)+                      -- use rule "Transform.ag"(line 744, column 37)                       _lhsOparamsCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 674, column 56)+                      -- use rule "Transform.ag"(line 684, column 56)                       _lhsOsemPragmasCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 490, column 32)+                      -- use rule "Transform.ag"(line 500, column 32)                       _lhsOtypeSyns =                           []                       -- use rule "Transform.ag"(line 134, column 15)                       _lhsOuseMap =                           Map.empty-                      -- use rule "Transform.ag"(line 621, column 32)+                      -- use rule "Transform.ag"(line 631, column 32)                       _lhsOwrappers =                           Set.empty                       -- copy rule (chain)@@ -1860,15 +1870,15 @@                       -- "Transform.ag"(line 164, column 10)                       _altsOnts =                           _namesInontSet-                      -- "Transform.ag"(line 761, column 7)+                      -- "Transform.ag"(line 771, column 7)                       _lhsOctxCollect =                           if null ctx_                           then Map.empty                           else Map.fromList [(nt, ctx_) | nt <- Set.toList _namesInontSet]-                      -- "Transform.ag"(line 806, column 10)+                      -- "Transform.ag"(line 816, column 10)                       _attrsOnts =                           _namesInontSet-                      -- use rule "Transform.ag"(line 702, column 55)+                      -- use rule "Transform.ag"(line 712, column 55)                       _lhsOattrOrderCollect =                           _altsIattrOrderCollect                       -- use rule "Transform.ag"(line 44, column 19)@@ -1901,31 +1911,31 @@                       -- use rule "Transform.ag"(line 149, column 32)                       _lhsOcollectedUniques =                           _altsIcollectedUniques-                      -- use rule "Transform.ag"(line 782, column 33)+                      -- use rule "Transform.ag"(line 792, column 33)                       _lhsOderivings =                           Map.empty                       -- use rule "Transform.ag"(line 42, column 19)                       _lhsOerrors =                           _namesIerrors Seq.>< _attrsIerrors Seq.>< _altsIerrors-                      -- use rule "Transform.ag"(line 943, column 37)+                      -- use rule "Transform.ag"(line 953, column 37)                       _lhsOmoduleDecl =                           mzero-                      -- use rule "Transform.ag"(line 734, column 37)+                      -- use rule "Transform.ag"(line 744, column 37)                       _lhsOparamsCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 630, column 34)+                      -- use rule "Transform.ag"(line 640, column 34)                       _lhsOpragmas =                           id-                      -- use rule "Transform.ag"(line 674, column 56)+                      -- use rule "Transform.ag"(line 684, column 56)                       _lhsOsemPragmasCollect =                           _altsIsemPragmasCollect-                      -- use rule "Transform.ag"(line 490, column 32)+                      -- use rule "Transform.ag"(line 500, column 32)                       _lhsOtypeSyns =                           []                       -- use rule "Transform.ag"(line 134, column 15)                       _lhsOuseMap =                           _attrsIuseMap-                      -- use rule "Transform.ag"(line 621, column 32)+                      -- use rule "Transform.ag"(line 631, column 32)                       _lhsOwrappers =                           Set.empty                       -- copy rule (up)@@ -2006,10 +2016,10 @@                       _setIcollectedNames :: (Set Identifier)                       _setIerrors :: (Seq Error)                       _setInontSet :: (Set NontermIdent)-                      -- "Transform.ag"(line 446, column 10)+                      -- "Transform.ag"(line 456, column 10)                       _lhsOcollectedSetNames =                           Set.singleton name_-                      -- "Transform.ag"(line 553, column 13)+                      -- "Transform.ag"(line 563, column 13)                       __tup3 =                           let allUsedNames = Set.unions [ maybe (Set.singleton n)                                                                 snd@@ -2021,19 +2031,19 @@                                            | otherwise = (_setInontSet, Seq.empty)                               (res, e2) = checkDuplicate DupSet  name_ (nontSet,Set.insert name_ allUsedNames) _lhsIdefSets                           in (res, e1 Seq.>< e2)-                      -- "Transform.ag"(line 553, column 13)+                      -- "Transform.ag"(line 563, column 13)                       (_defSets2,_) =                           __tup3-                      -- "Transform.ag"(line 553, column 13)+                      -- "Transform.ag"(line 563, column 13)                       (_,_errs) =                           __tup3-                      -- "Transform.ag"(line 563, column 9)+                      -- "Transform.ag"(line 573, column 9)                       _lhsOdefSets =                           _defSets2-                      -- "Transform.ag"(line 563, column 9)+                      -- "Transform.ag"(line 573, column 9)                       _lhsOerrors =                           _errs >< _setIerrors-                      -- use rule "Transform.ag"(line 702, column 55)+                      -- use rule "Transform.ag"(line 712, column 55)                       _lhsOattrOrderCollect =                           Map.empty                       -- use rule "Transform.ag"(line 44, column 19)@@ -2063,31 +2073,31 @@                       -- use rule "Transform.ag"(line 149, column 32)                       _lhsOcollectedUniques =                           []-                      -- use rule "Transform.ag"(line 757, column 34)+                      -- use rule "Transform.ag"(line 767, column 34)                       _lhsOctxCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 782, column 33)+                      -- use rule "Transform.ag"(line 792, column 33)                       _lhsOderivings =                           Map.empty-                      -- use rule "Transform.ag"(line 943, column 37)+                      -- use rule "Transform.ag"(line 953, column 37)                       _lhsOmoduleDecl =                           mzero-                      -- use rule "Transform.ag"(line 734, column 37)+                      -- use rule "Transform.ag"(line 744, column 37)                       _lhsOparamsCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 630, column 34)+                      -- use rule "Transform.ag"(line 640, column 34)                       _lhsOpragmas =                           id-                      -- use rule "Transform.ag"(line 674, column 56)+                      -- use rule "Transform.ag"(line 684, column 56)                       _lhsOsemPragmasCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 490, column 32)+                      -- use rule "Transform.ag"(line 500, column 32)                       _lhsOtypeSyns =                           []                       -- use rule "Transform.ag"(line 134, column 15)                       _lhsOuseMap =                           Map.empty-                      -- use rule "Transform.ag"(line 621, column 32)+                      -- use rule "Transform.ag"(line 631, column 32)                       _lhsOwrappers =                           Set.empty                       -- copy rule (chain)@@ -2157,7 +2167,7 @@                       -- "Transform.ag"(line 182, column 10)                       _lhsOblocks =                           Map.singleton _blockInfo     _blockValue-                      -- use rule "Transform.ag"(line 702, column 55)+                      -- use rule "Transform.ag"(line 712, column 55)                       _lhsOattrOrderCollect =                           Map.empty                       -- use rule "Transform.ag"(line 150, column 32)@@ -2187,34 +2197,34 @@                       -- use rule "Transform.ag"(line 149, column 32)                       _lhsOcollectedUniques =                           []-                      -- use rule "Transform.ag"(line 757, column 34)+                      -- use rule "Transform.ag"(line 767, column 34)                       _lhsOctxCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 782, column 33)+                      -- use rule "Transform.ag"(line 792, column 33)                       _lhsOderivings =                           Map.empty                       -- use rule "Transform.ag"(line 42, column 19)                       _lhsOerrors =                           Seq.empty-                      -- use rule "Transform.ag"(line 943, column 37)+                      -- use rule "Transform.ag"(line 953, column 37)                       _lhsOmoduleDecl =                           mzero-                      -- use rule "Transform.ag"(line 734, column 37)+                      -- use rule "Transform.ag"(line 744, column 37)                       _lhsOparamsCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 630, column 34)+                      -- use rule "Transform.ag"(line 640, column 34)                       _lhsOpragmas =                           id-                      -- use rule "Transform.ag"(line 674, column 56)+                      -- use rule "Transform.ag"(line 684, column 56)                       _lhsOsemPragmasCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 490, column 32)+                      -- use rule "Transform.ag"(line 500, column 32)                       _lhsOtypeSyns =                           []                       -- use rule "Transform.ag"(line 134, column 15)                       _lhsOuseMap =                           Map.empty-                      -- use rule "Transform.ag"(line 621, column 32)+                      -- use rule "Transform.ag"(line 631, column 32)                       _lhsOwrappers =                           Set.empty                       -- copy rule (chain)@@ -2264,10 +2274,10 @@                       -- "Transform.ag"(line 235, column 10)                       _lhsOcollectedFields =                           map (\(x,y)->(name_, x, y)) _expanded-                      -- "Transform.ag"(line 449, column 11)+                      -- "Transform.ag"(line 459, column 11)                       _lhsOcollectedNames =                           Set.singleton name_-                      -- "Transform.ag"(line 503, column 11)+                      -- "Transform.ag"(line 513, column 11)                       _expanded =                           case _argType of                                   List tp -> [(Ident "Cons" pos_, [(Ident "hd" pos_, tp)@@ -2298,7 +2308,7 @@                                                  , (Ident "Nil" pos_, [])                                                  ]                                   Tuple xs -> [(Ident "Tuple" pos_, xs)]-                      -- "Transform.ag"(line 532, column 11)+                      -- "Transform.ag"(line 542, column 11)                       _argType =                           case type_ of                            Maybe tp       -> Maybe  (  makeType _lhsIallNonterminals tp)@@ -2307,20 +2317,20 @@                            Tuple xs       -> Tuple [(f,makeType _lhsIallNonterminals tp) | (f,tp) <- xs]                            Map tp1 tp2    -> Map    (  makeType _lhsIallNonterminals tp1) (makeType _lhsIallNonterminals tp2)                            IntMap tp      -> IntMap (  makeType _lhsIallNonterminals tp)-                      -- "Transform.ag"(line 539, column 11)+                      -- "Transform.ag"(line 549, column 11)                       _lhsOtypeSyns =                           [(name_,_argType)]-                      -- "Transform.ag"(line 744, column 7)+                      -- "Transform.ag"(line 754, column 7)                       _lhsOparamsCollect =                           if null params_                           then Map.empty                           else Map.singleton name_ params_-                      -- "Transform.ag"(line 767, column 7)+                      -- "Transform.ag"(line 777, column 7)                       _lhsOctxCollect =                           if null ctx_                           then Map.empty                           else Map.singleton name_ ctx_-                      -- use rule "Transform.ag"(line 702, column 55)+                      -- use rule "Transform.ag"(line 712, column 55)                       _lhsOattrOrderCollect =                           Map.empty                       -- use rule "Transform.ag"(line 44, column 19)@@ -2347,25 +2357,25 @@                       -- use rule "Transform.ag"(line 149, column 32)                       _lhsOcollectedUniques =                           []-                      -- use rule "Transform.ag"(line 782, column 33)+                      -- use rule "Transform.ag"(line 792, column 33)                       _lhsOderivings =                           Map.empty                       -- use rule "Transform.ag"(line 42, column 19)                       _lhsOerrors =                           Seq.empty-                      -- use rule "Transform.ag"(line 943, column 37)+                      -- use rule "Transform.ag"(line 953, column 37)                       _lhsOmoduleDecl =                           mzero-                      -- use rule "Transform.ag"(line 630, column 34)+                      -- use rule "Transform.ag"(line 640, column 34)                       _lhsOpragmas =                           id-                      -- use rule "Transform.ag"(line 674, column 56)+                      -- use rule "Transform.ag"(line 684, column 56)                       _lhsOsemPragmasCollect =                           Map.empty                       -- use rule "Transform.ag"(line 134, column 15)                       _lhsOuseMap =                           Map.empty-                      -- use rule "Transform.ag"(line 621, column 32)+                      -- use rule "Transform.ag"(line 631, column 32)                       _lhsOwrappers =                           Set.empty                       -- copy rule (chain)@@ -2415,10 +2425,10 @@                       _setIcollectedNames :: (Set Identifier)                       _setIerrors :: (Seq Error)                       _setInontSet :: (Set NontermIdent)-                      -- "Transform.ag"(line 624, column 13)+                      -- "Transform.ag"(line 634, column 13)                       _lhsOwrappers =                           _setInontSet-                      -- use rule "Transform.ag"(line 702, column 55)+                      -- use rule "Transform.ag"(line 712, column 55)                       _lhsOattrOrderCollect =                           Map.empty                       -- use rule "Transform.ag"(line 44, column 19)@@ -2451,28 +2461,28 @@                       -- use rule "Transform.ag"(line 149, column 32)                       _lhsOcollectedUniques =                           []-                      -- use rule "Transform.ag"(line 757, column 34)+                      -- use rule "Transform.ag"(line 767, column 34)                       _lhsOctxCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 782, column 33)+                      -- use rule "Transform.ag"(line 792, column 33)                       _lhsOderivings =                           Map.empty                       -- use rule "Transform.ag"(line 42, column 19)                       _lhsOerrors =                           _setIerrors-                      -- use rule "Transform.ag"(line 943, column 37)+                      -- use rule "Transform.ag"(line 953, column 37)                       _lhsOmoduleDecl =                           mzero-                      -- use rule "Transform.ag"(line 734, column 37)+                      -- use rule "Transform.ag"(line 744, column 37)                       _lhsOparamsCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 630, column 34)+                      -- use rule "Transform.ag"(line 640, column 34)                       _lhsOpragmas =                           id-                      -- use rule "Transform.ag"(line 674, column 56)+                      -- use rule "Transform.ag"(line 684, column 56)                       _lhsOsemPragmasCollect =                           Map.empty-                      -- use rule "Transform.ag"(line 490, column 32)+                      -- use rule "Transform.ag"(line 500, column 32)                       _lhsOtypeSyns =                           []                       -- use rule "Transform.ag"(line 134, column 15)@@ -2653,7 +2663,7 @@                        _tlItypeSyns :: TypeSyns                        _tlIuseMap :: (Map NontermIdent (Map Identifier (String,String,String)))                        _tlIwrappers :: (Set NontermIdent)-                       -- use rule "Transform.ag"(line 702, column 55)+                       -- use rule "Transform.ag"(line 712, column 55)                        _lhsOattrOrderCollect =                            _hdIattrOrderCollect `orderMapUnion` _tlIattrOrderCollect                        -- use rule "Transform.ag"(line 44, column 19)@@ -2686,34 +2696,34 @@                        -- use rule "Transform.ag"(line 149, column 32)                        _lhsOcollectedUniques =                            _hdIcollectedUniques ++ _tlIcollectedUniques-                       -- use rule "Transform.ag"(line 757, column 34)+                       -- use rule "Transform.ag"(line 767, column 34)                        _lhsOctxCollect =                            _hdIctxCollect `mergeCtx` _tlIctxCollect-                       -- use rule "Transform.ag"(line 782, column 33)+                       -- use rule "Transform.ag"(line 792, column 33)                        _lhsOderivings =                            _hdIderivings `mergeDerivings` _tlIderivings                        -- use rule "Transform.ag"(line 42, column 19)                        _lhsOerrors =                            _hdIerrors Seq.>< _tlIerrors-                       -- use rule "Transform.ag"(line 943, column 37)+                       -- use rule "Transform.ag"(line 953, column 37)                        _lhsOmoduleDecl =                            _hdImoduleDecl `mplus` _tlImoduleDecl-                       -- use rule "Transform.ag"(line 734, column 37)+                       -- use rule "Transform.ag"(line 744, column 37)                        _lhsOparamsCollect =                            _hdIparamsCollect `mergeParams` _tlIparamsCollect-                       -- use rule "Transform.ag"(line 630, column 34)+                       -- use rule "Transform.ag"(line 640, column 34)                        _lhsOpragmas =                            _hdIpragmas . _tlIpragmas-                       -- use rule "Transform.ag"(line 674, column 56)+                       -- use rule "Transform.ag"(line 684, column 56)                        _lhsOsemPragmasCollect =                            _hdIsemPragmasCollect `pragmaMapUnion` _tlIsemPragmasCollect-                       -- use rule "Transform.ag"(line 490, column 32)+                       -- use rule "Transform.ag"(line 500, column 32)                        _lhsOtypeSyns =                            _hdItypeSyns ++ _tlItypeSyns                        -- use rule "Transform.ag"(line 134, column 15)                        _lhsOuseMap =                            _hdIuseMap `merge` _tlIuseMap-                       -- use rule "Transform.ag"(line 621, column 32)+                       -- use rule "Transform.ag"(line 631, column 32)                        _lhsOwrappers =                            _hdIwrappers `Set.union` _tlIwrappers                        -- copy rule (up)@@ -2801,7 +2811,7 @@                        _lhsOwrappers :: (Set NontermIdent)                        _lhsOattrDecls :: (Map NontermIdent (Attributes, Attributes))                        _lhsOdefSets :: (Map Identifier (Set NontermIdent,Set Identifier))-                       -- use rule "Transform.ag"(line 702, column 55)+                       -- use rule "Transform.ag"(line 712, column 55)                        _lhsOattrOrderCollect =                            Map.empty                        -- use rule "Transform.ag"(line 44, column 19)@@ -2834,34 +2844,34 @@                        -- use rule "Transform.ag"(line 149, column 32)                        _lhsOcollectedUniques =                            []-                       -- use rule "Transform.ag"(line 757, column 34)+                       -- use rule "Transform.ag"(line 767, column 34)                        _lhsOctxCollect =                            Map.empty-                       -- use rule "Transform.ag"(line 782, column 33)+                       -- use rule "Transform.ag"(line 792, column 33)                        _lhsOderivings =                            Map.empty                        -- use rule "Transform.ag"(line 42, column 19)                        _lhsOerrors =                            Seq.empty-                       -- use rule "Transform.ag"(line 943, column 37)+                       -- use rule "Transform.ag"(line 953, column 37)                        _lhsOmoduleDecl =                            mzero-                       -- use rule "Transform.ag"(line 734, column 37)+                       -- use rule "Transform.ag"(line 744, column 37)                        _lhsOparamsCollect =                            Map.empty-                       -- use rule "Transform.ag"(line 630, column 34)+                       -- use rule "Transform.ag"(line 640, column 34)                        _lhsOpragmas =                            id-                       -- use rule "Transform.ag"(line 674, column 56)+                       -- use rule "Transform.ag"(line 684, column 56)                        _lhsOsemPragmasCollect =                            Map.empty-                       -- use rule "Transform.ag"(line 490, column 32)+                       -- use rule "Transform.ag"(line 500, column 32)                        _lhsOtypeSyns =                            []                        -- use rule "Transform.ag"(line 134, column 15)                        _lhsOuseMap =                            Map.empty-                       -- use rule "Transform.ag"(line 621, column 32)+                       -- use rule "Transform.ag"(line 631, column 32)                        _lhsOwrappers =                            Set.empty                        -- copy rule (chain)@@ -2940,7 +2950,7 @@                     (let _lhsOnontSet :: (Set NontermIdent)                          _lhsOcollectedNames :: (Set Identifier)                          _lhsOerrors :: (Seq Error)-                         -- "Transform.ag"(line 567, column 16)+                         -- "Transform.ag"(line 577, column 16)                          _lhsOnontSet =                              _lhsIallNonterminals                          -- use rule "Transform.ag"(line 83, column 50)@@ -2972,7 +2982,7 @@                          _set2IcollectedNames :: (Set Identifier)                          _set2Ierrors :: (Seq Error)                          _set2InontSet :: (Set NontermIdent)-                         -- "Transform.ag"(line 573, column 16)+                         -- "Transform.ag"(line 583, column 16)                          _lhsOnontSet =                              Set.difference    _set1InontSet _set2InontSet                          -- use rule "Transform.ag"(line 83, column 50)@@ -3026,7 +3036,7 @@                          _set2IcollectedNames :: (Set Identifier)                          _set2Ierrors :: (Seq Error)                          _set2InontSet :: (Set NontermIdent)-                         -- "Transform.ag"(line 572, column 16)+                         -- "Transform.ag"(line 582, column 16)                          _lhsOnontSet =                              Set.intersection  _set1InontSet _set2InontSet                          -- use rule "Transform.ag"(line 83, column 50)@@ -3067,18 +3077,18 @@                     (let _lhsOcollectedNames :: (Set Identifier)                          _lhsOerrors :: (Seq Error)                          _lhsOnontSet :: (Set NontermIdent)-                         -- "Transform.ag"(line 452, column 14)+                         -- "Transform.ag"(line 462, column 14)                          _lhsOcollectedNames =                              Set.singleton name_-                         -- "Transform.ag"(line 568, column 20)+                         -- "Transform.ag"(line 578, column 20)                          __tup4 =                              case Map.lookup name_ _lhsIdefinedSets of                                           Nothing  -> (Set.empty, Seq.singleton (UndefNont name_))                                           Just set -> (set, Seq.empty)-                         -- "Transform.ag"(line 568, column 20)+                         -- "Transform.ag"(line 578, column 20)                          (_nontSet,_) =                              __tup4-                         -- "Transform.ag"(line 568, column 20)+                         -- "Transform.ag"(line 578, column 20)                          (_,_errors) =                              __tup4                          -- use rule "Transform.ag"(line 42, column 19)@@ -3098,11 +3108,11 @@                     (let _lhsOnontSet :: (Set NontermIdent)                          _lhsOerrors :: (Seq Error)                          _lhsOcollectedNames :: (Set Identifier)-                         -- "Transform.ag"(line 574, column 16)+                         -- "Transform.ag"(line 584, column 16)                          _lhsOnontSet =                              let table = flattenDatas _lhsIallFields                              in path table from_ to_-                         -- "Transform.ag"(line 576, column 16)+                         -- "Transform.ag"(line 586, column 16)                          _lhsOerrors =                              let check name | Set.member name _lhsIallNonterminals                                                         = Seq.empty@@ -3134,7 +3144,7 @@                          _set2IcollectedNames :: (Set Identifier)                          _set2Ierrors :: (Seq Error)                          _set2InontSet :: (Set NontermIdent)-                         -- "Transform.ag"(line 571, column 16)+                         -- "Transform.ag"(line 581, column 16)                          _lhsOnontSet =                              Set.union         _set1InontSet _set2InontSet                          -- use rule "Transform.ag"(line 83, column 50)@@ -3246,16 +3256,16 @@                     _partsIdefinedAttrs :: ([AttrName])                     _partsIdefinedInsts :: ([Identifier])                     _partsIpatunder :: ([AttrName]->Patterns)-                    -- "Transform.ag"(line 919, column 11)+                    -- "Transform.ag"(line 929, column 11)                     _lhsOdefinedAttrs =                         (field_, attr_) : _patIdefinedAttrs-                    -- "Transform.ag"(line 920, column 11)+                    -- "Transform.ag"(line 930, column 11)                     _lhsOpatunder =                         \us -> if ((field_,attr_) `elem` us) then Underscore noPos else _copy-                    -- "Transform.ag"(line 921, column 11)+                    -- "Transform.ag"(line 931, column 11)                     _lhsOdefinedInsts =                         (if field_ == _INST then [attr_] else []) ++ _patIdefinedInsts-                    -- "Transform.ag"(line 936, column 16)+                    -- "Transform.ag"(line 946, column 16)                     _lhsOstpos =                         getPos field_                     -- self rule@@ -3282,16 +3292,16 @@                     _patsIdefinedAttrs :: ([AttrName])                     _patsIdefinedInsts :: ([Identifier])                     _patsIpatunder :: ([AttrName]->Patterns)-                    -- "Transform.ag"(line 923, column 12)+                    -- "Transform.ag"(line 933, column 12)                     _lhsOpatunder =                         \us -> Constr name_ (_patsIpatunder us)-                    -- "Transform.ag"(line 934, column 16)+                    -- "Transform.ag"(line 944, column 16)                     _lhsOstpos =                         getPos name_-                    -- use rule "Transform.ag"(line 914, column 42)+                    -- use rule "Transform.ag"(line 924, column 42)                     _lhsOdefinedAttrs =                         _patsIdefinedAttrs-                    -- use rule "Transform.ag"(line 913, column 55)+                    -- use rule "Transform.ag"(line 923, column 55)                     _lhsOdefinedInsts =                         _patsIdefinedInsts                     -- self rule@@ -3316,13 +3326,13 @@                     _patIdefinedInsts :: ([Identifier])                     _patIpatunder :: ([AttrName]->Pattern)                     _patIstpos :: Pos-                    -- "Transform.ag"(line 925, column 17)+                    -- "Transform.ag"(line 935, column 17)                     _lhsOpatunder =                         \us -> Irrefutable (_patIpatunder us)-                    -- use rule "Transform.ag"(line 914, column 42)+                    -- use rule "Transform.ag"(line 924, column 42)                     _lhsOdefinedAttrs =                         _patIdefinedAttrs-                    -- use rule "Transform.ag"(line 913, column 55)+                    -- use rule "Transform.ag"(line 923, column 55)                     _lhsOdefinedInsts =                         _patIdefinedInsts                     -- self rule@@ -3350,16 +3360,16 @@                     _patsIdefinedAttrs :: ([AttrName])                     _patsIdefinedInsts :: ([Identifier])                     _patsIpatunder :: ([AttrName]->Patterns)-                    -- "Transform.ag"(line 924, column 13)+                    -- "Transform.ag"(line 934, column 13)                     _lhsOpatunder =                         \us -> Product pos_ (_patsIpatunder us)-                    -- "Transform.ag"(line 935, column 16)+                    -- "Transform.ag"(line 945, column 16)                     _lhsOstpos =                         pos_-                    -- use rule "Transform.ag"(line 914, column 42)+                    -- use rule "Transform.ag"(line 924, column 42)                     _lhsOdefinedAttrs =                         _patsIdefinedAttrs-                    -- use rule "Transform.ag"(line 913, column 55)+                    -- use rule "Transform.ag"(line 923, column 55)                     _lhsOdefinedInsts =                         _patsIdefinedInsts                     -- self rule@@ -3379,16 +3389,16 @@                     _lhsOdefinedAttrs :: ([AttrName])                     _lhsOdefinedInsts :: ([Identifier])                     _lhsOcopy :: Pattern-                    -- "Transform.ag"(line 922, column 16)+                    -- "Transform.ag"(line 932, column 16)                     _lhsOpatunder =                         \us -> _copy-                    -- "Transform.ag"(line 937, column 16)+                    -- "Transform.ag"(line 947, column 16)                     _lhsOstpos =                         pos_-                    -- use rule "Transform.ag"(line 914, column 42)+                    -- use rule "Transform.ag"(line 924, column 42)                     _lhsOdefinedAttrs =                         []-                    -- use rule "Transform.ag"(line 913, column 55)+                    -- use rule "Transform.ag"(line 923, column 55)                     _lhsOdefinedInsts =                         []                     -- self rule@@ -3449,13 +3459,13 @@                      _tlIdefinedAttrs :: ([AttrName])                      _tlIdefinedInsts :: ([Identifier])                      _tlIpatunder :: ([AttrName]->Patterns)-                     -- "Transform.ag"(line 929, column 10)+                     -- "Transform.ag"(line 939, column 10)                      _lhsOpatunder =                          \us -> (_hdIpatunder us) : (_tlIpatunder us)-                     -- use rule "Transform.ag"(line 914, column 42)+                     -- use rule "Transform.ag"(line 924, column 42)                      _lhsOdefinedAttrs =                          _hdIdefinedAttrs ++ _tlIdefinedAttrs-                     -- use rule "Transform.ag"(line 913, column 55)+                     -- use rule "Transform.ag"(line 923, column 55)                      _lhsOdefinedInsts =                          _hdIdefinedInsts ++ _tlIdefinedInsts                      -- self rule@@ -3475,13 +3485,13 @@                      _lhsOdefinedAttrs :: ([AttrName])                      _lhsOdefinedInsts :: ([Identifier])                      _lhsOcopy :: Patterns-                     -- "Transform.ag"(line 928, column 9)+                     -- "Transform.ag"(line 938, column 9)                      _lhsOpatunder =                          \us ->  []-                     -- use rule "Transform.ag"(line 914, column 42)+                     -- use rule "Transform.ag"(line 924, column 42)                      _lhsOdefinedAttrs =                          []-                     -- use rule "Transform.ag"(line 913, column 55)+                     -- use rule "Transform.ag"(line 923, column 55)                      _lhsOdefinedInsts =                          []                      -- self rule@@ -3562,25 +3572,25 @@                         _rulesIruleInfos :: ([RuleInfo])                         _rulesIsigInfos :: ([SigInfo])                         _rulesIuniqueInfos :: ([UniqueInfo])-                        -- "Transform.ag"(line 678, column 7)+                        -- "Transform.ag"(line 688, column 7)                         _pragmaNames =                             Set.fromList _rulesIpragmaNamesCollect-                        -- "Transform.ag"(line 679, column 7)+                        -- "Transform.ag"(line 689, column 7)                         _lhsOsemPragmasCollect =                             foldr pragmaMapUnion Map.empty [ pragmaMapSingle nt con _pragmaNames                                                            | (nt, conset, _) <- _coninfo                                                            , con <- Set.toList conset                                                            ]-                        -- "Transform.ag"(line 707, column 7)+                        -- "Transform.ag"(line 717, column 7)                         _attrOrders =                             [ orderMapSingle nt con _rulesIorderDepsCollect                             | (nt, conset, _) <- _coninfo                             , con <- Set.toList conset                             ]-                        -- "Transform.ag"(line 713, column 7)+                        -- "Transform.ag"(line 723, column 7)                         _lhsOattrOrderCollect =                             foldr orderMapUnion Map.empty _attrOrders-                        -- "Transform.ag"(line 857, column 12)+                        -- "Transform.ag"(line 867, column 12)                         _coninfo =                             [ (nt, conset, conkeys)                             | nt  <- Set.toList _lhsInts@@ -3588,40 +3598,40 @@                             , let conkeys = Set.fromList (Map.keys conmap)                             , let conset  = _constructorSetIconstructors conkeys                             ]-                        -- "Transform.ag"(line 864, column 12)+                        -- "Transform.ag"(line 874, column 12)                         _lhsOerrors =                             Seq.fromList                                [ UndefAlt nt con                                | (nt, conset, conkeys) <- _coninfo                                , con <- Set.toList (Set.difference conset conkeys)                                ]-                        -- "Transform.ag"(line 869, column 12)+                        -- "Transform.ag"(line 879, column 12)                         _lhsOcollectedRules =                             [ (nt,con,r)                             | (nt, conset, _) <- _coninfo                             , con <- Set.toList conset                             , r <- _rulesIruleInfos                             ]-                        -- "Transform.ag"(line 875, column 12)+                        -- "Transform.ag"(line 885, column 12)                         _lhsOcollectedSigs =                             [ (nt,con,ts)                             | (nt, conset, _) <- _coninfo                             , con <- Set.toList conset                             , ts <- _rulesIsigInfos                             ]-                        -- "Transform.ag"(line 882, column 12)+                        -- "Transform.ag"(line 892, column 12)                         _lhsOcollectedInsts =                             [ (nt,con,_rulesIdefinedInsts)                             | (nt, conset, _) <- _coninfo                             , con <- Set.toList conset                             ]-                        -- "Transform.ag"(line 888, column 12)+                        -- "Transform.ag"(line 898, column 12)                         _lhsOcollectedUniques =                             [ (nt,con,_rulesIuniqueInfos)                             | (nt, conset, _) <- _coninfo                             , con <- Set.toList conset                             ]-                        -- "Transform.ag"(line 894, column 12)+                        -- "Transform.ag"(line 904, column 12)                         _lhsOcollectedAugments =                             [ (nt, con, _rulesIaugmentInfos)                             | (nt, conset, _) <- _coninfo@@ -3710,7 +3720,7 @@                          _tlIcollectedUniques :: ([ (NontermIdent, ConstructorIdent, [UniqueInfo]) ])                          _tlIerrors :: (Seq Error)                          _tlIsemPragmasCollect :: PragmaMap-                         -- use rule "Transform.ag"(line 702, column 55)+                         -- use rule "Transform.ag"(line 712, column 55)                          _lhsOattrOrderCollect =                              _hdIattrOrderCollect `orderMapUnion` _tlIattrOrderCollect                          -- use rule "Transform.ag"(line 150, column 32)@@ -3731,7 +3741,7 @@                          -- use rule "Transform.ag"(line 42, column 19)                          _lhsOerrors =                              _hdIerrors Seq.>< _tlIerrors-                         -- use rule "Transform.ag"(line 674, column 56)+                         -- use rule "Transform.ag"(line 684, column 56)                          _lhsOsemPragmasCollect =                              _hdIsemPragmasCollect `pragmaMapUnion` _tlIsemPragmasCollect                          -- copy rule (down)@@ -3770,7 +3780,7 @@                          _lhsOcollectedUniques :: ([ (NontermIdent, ConstructorIdent, [UniqueInfo]) ])                          _lhsOerrors :: (Seq Error)                          _lhsOsemPragmasCollect :: PragmaMap-                         -- use rule "Transform.ag"(line 702, column 55)+                         -- use rule "Transform.ag"(line 712, column 55)                          _lhsOattrOrderCollect =                              Map.empty                          -- use rule "Transform.ag"(line 150, column 32)@@ -3791,7 +3801,7 @@                          -- use rule "Transform.ag"(line 42, column 19)                          _lhsOerrors =                              Seq.empty-                         -- use rule "Transform.ag"(line 674, column 56)+                         -- use rule "Transform.ag"(line 684, column 56)                          _lhsOsemPragmasCollect =                              Map.empty                      in  ( _lhsOattrOrderCollect,_lhsOcollectedAugments,_lhsOcollectedInsts,_lhsOcollectedRules,_lhsOcollectedSigs,_lhsOcollectedUniques,_lhsOerrors,_lhsOsemPragmasCollect))) )@@ -3865,28 +3875,28 @@                    _lhsOruleInfos :: ([RuleInfo])                    _lhsOsigInfos :: ([SigInfo])                    _lhsOuniqueInfos :: ([UniqueInfo])-                   -- "Transform.ag"(line 719, column 7)+                   -- "Transform.ag"(line 729, column 7)                    _dependency =                        [ Dependency b a | b <- before_, a <- after_ ]-                   -- "Transform.ag"(line 720, column 7)+                   -- "Transform.ag"(line 730, column 7)                    _lhsOorderDepsCollect =                        Set.fromList _dependency-                   -- use rule "Transform.ag"(line 852, column 40)+                   -- use rule "Transform.ag"(line 862, column 40)                    _lhsOaugmentInfos =                        []-                   -- use rule "Transform.ag"(line 913, column 55)+                   -- use rule "Transform.ag"(line 923, column 55)                    _lhsOdefinedInsts =                        []-                   -- use rule "Transform.ag"(line 684, column 46)+                   -- use rule "Transform.ag"(line 694, column 46)                    _lhsOpragmaNamesCollect =                        []-                   -- use rule "Transform.ag"(line 849, column 40)+                   -- use rule "Transform.ag"(line 859, column 40)                    _lhsOruleInfos =                        []-                   -- use rule "Transform.ag"(line 850, column 40)+                   -- use rule "Transform.ag"(line 860, column 40)                    _lhsOsigInfos =                        []-                   -- use rule "Transform.ag"(line 851, column 40)+                   -- use rule "Transform.ag"(line 861, column 40)                    _lhsOuniqueInfos =                        []                in  ( _lhsOaugmentInfos,_lhsOdefinedInsts,_lhsOorderDepsCollect,_lhsOpragmaNamesCollect,_lhsOruleInfos,_lhsOsigInfos,_lhsOuniqueInfos)) )@@ -3901,25 +3911,25 @@                    _lhsOruleInfos :: ([RuleInfo])                    _lhsOsigInfos :: ([SigInfo])                    _lhsOuniqueInfos :: ([UniqueInfo])-                   -- "Transform.ag"(line 910, column 17)+                   -- "Transform.ag"(line 920, column 17)                    _lhsOaugmentInfos =                        [ (ident_, rhs_) ]-                   -- use rule "Transform.ag"(line 913, column 55)+                   -- use rule "Transform.ag"(line 923, column 55)                    _lhsOdefinedInsts =                        []-                   -- use rule "Transform.ag"(line 715, column 44)+                   -- use rule "Transform.ag"(line 725, column 44)                    _lhsOorderDepsCollect =                        Set.empty-                   -- use rule "Transform.ag"(line 684, column 46)+                   -- use rule "Transform.ag"(line 694, column 46)                    _lhsOpragmaNamesCollect =                        []-                   -- use rule "Transform.ag"(line 849, column 40)+                   -- use rule "Transform.ag"(line 859, column 40)                    _lhsOruleInfos =                        []-                   -- use rule "Transform.ag"(line 850, column 40)+                   -- use rule "Transform.ag"(line 860, column 40)                    _lhsOsigInfos =                        []-                   -- use rule "Transform.ag"(line 851, column 40)+                   -- use rule "Transform.ag"(line 861, column 40)                    _lhsOuniqueInfos =                        []                in  ( _lhsOaugmentInfos,_lhsOdefinedInsts,_lhsOorderDepsCollect,_lhsOpragmaNamesCollect,_lhsOruleInfos,_lhsOsigInfos,_lhsOuniqueInfos)) )@@ -3940,25 +3950,25 @@                    _patternIdefinedInsts :: ([Identifier])                    _patternIpatunder :: ([AttrName]->Pattern)                    _patternIstpos :: Pos-                   -- "Transform.ag"(line 901, column 10)+                   -- "Transform.ag"(line 911, column 10)                    _lhsOruleInfos =                        [ (_patternIpatunder, rhs_, _patternIdefinedAttrs, owrt_, show _patternIstpos) ]-                   -- use rule "Transform.ag"(line 852, column 40)+                   -- use rule "Transform.ag"(line 862, column 40)                    _lhsOaugmentInfos =                        []-                   -- use rule "Transform.ag"(line 913, column 55)+                   -- use rule "Transform.ag"(line 923, column 55)                    _lhsOdefinedInsts =                        _patternIdefinedInsts-                   -- use rule "Transform.ag"(line 715, column 44)+                   -- use rule "Transform.ag"(line 725, column 44)                    _lhsOorderDepsCollect =                        Set.empty-                   -- use rule "Transform.ag"(line 684, column 46)+                   -- use rule "Transform.ag"(line 694, column 46)                    _lhsOpragmaNamesCollect =                        []-                   -- use rule "Transform.ag"(line 850, column 40)+                   -- use rule "Transform.ag"(line 860, column 40)                    _lhsOsigInfos =                        []-                   -- use rule "Transform.ag"(line 851, column 40)+                   -- use rule "Transform.ag"(line 861, column 40)                    _lhsOuniqueInfos =                        []                    ( _patternIcopy,_patternIdefinedAttrs,_patternIdefinedInsts,_patternIpatunder,_patternIstpos) =@@ -3974,25 +3984,25 @@                    _lhsOruleInfos :: ([RuleInfo])                    _lhsOsigInfos :: ([SigInfo])                    _lhsOuniqueInfos :: ([UniqueInfo])-                   -- "Transform.ag"(line 688, column 7)+                   -- "Transform.ag"(line 698, column 7)                    _lhsOpragmaNamesCollect =                        names_-                   -- use rule "Transform.ag"(line 852, column 40)+                   -- use rule "Transform.ag"(line 862, column 40)                    _lhsOaugmentInfos =                        []-                   -- use rule "Transform.ag"(line 913, column 55)+                   -- use rule "Transform.ag"(line 923, column 55)                    _lhsOdefinedInsts =                        []-                   -- use rule "Transform.ag"(line 715, column 44)+                   -- use rule "Transform.ag"(line 725, column 44)                    _lhsOorderDepsCollect =                        Set.empty-                   -- use rule "Transform.ag"(line 849, column 40)+                   -- use rule "Transform.ag"(line 859, column 40)                    _lhsOruleInfos =                        []-                   -- use rule "Transform.ag"(line 850, column 40)+                   -- use rule "Transform.ag"(line 860, column 40)                    _lhsOsigInfos =                        []-                   -- use rule "Transform.ag"(line 851, column 40)+                   -- use rule "Transform.ag"(line 861, column 40)                    _lhsOuniqueInfos =                        []                in  ( _lhsOaugmentInfos,_lhsOdefinedInsts,_lhsOorderDepsCollect,_lhsOpragmaNamesCollect,_lhsOruleInfos,_lhsOsigInfos,_lhsOuniqueInfos)) )@@ -4007,25 +4017,25 @@                    _lhsOpragmaNamesCollect :: ([Identifier])                    _lhsOruleInfos :: ([RuleInfo])                    _lhsOuniqueInfos :: ([UniqueInfo])-                   -- "Transform.ag"(line 904, column 14)+                   -- "Transform.ag"(line 914, column 14)                    _lhsOsigInfos =                        [ (ident_, tp_) ]-                   -- use rule "Transform.ag"(line 852, column 40)+                   -- use rule "Transform.ag"(line 862, column 40)                    _lhsOaugmentInfos =                        []-                   -- use rule "Transform.ag"(line 913, column 55)+                   -- use rule "Transform.ag"(line 923, column 55)                    _lhsOdefinedInsts =                        []-                   -- use rule "Transform.ag"(line 715, column 44)+                   -- use rule "Transform.ag"(line 725, column 44)                    _lhsOorderDepsCollect =                        Set.empty-                   -- use rule "Transform.ag"(line 684, column 46)+                   -- use rule "Transform.ag"(line 694, column 46)                    _lhsOpragmaNamesCollect =                        []-                   -- use rule "Transform.ag"(line 849, column 40)+                   -- use rule "Transform.ag"(line 859, column 40)                    _lhsOruleInfos =                        []-                   -- use rule "Transform.ag"(line 851, column 40)+                   -- use rule "Transform.ag"(line 861, column 40)                    _lhsOuniqueInfos =                        []                in  ( _lhsOaugmentInfos,_lhsOdefinedInsts,_lhsOorderDepsCollect,_lhsOpragmaNamesCollect,_lhsOruleInfos,_lhsOsigInfos,_lhsOuniqueInfos)) )@@ -4040,25 +4050,25 @@                    _lhsOpragmaNamesCollect :: ([Identifier])                    _lhsOruleInfos :: ([RuleInfo])                    _lhsOsigInfos :: ([SigInfo])-                   -- "Transform.ag"(line 907, column 16)+                   -- "Transform.ag"(line 917, column 16)                    _lhsOuniqueInfos =                        [ (ident_, ref_) ]-                   -- use rule "Transform.ag"(line 852, column 40)+                   -- use rule "Transform.ag"(line 862, column 40)                    _lhsOaugmentInfos =                        []-                   -- use rule "Transform.ag"(line 913, column 55)+                   -- use rule "Transform.ag"(line 923, column 55)                    _lhsOdefinedInsts =                        []-                   -- use rule "Transform.ag"(line 715, column 44)+                   -- use rule "Transform.ag"(line 725, column 44)                    _lhsOorderDepsCollect =                        Set.empty-                   -- use rule "Transform.ag"(line 684, column 46)+                   -- use rule "Transform.ag"(line 694, column 46)                    _lhsOpragmaNamesCollect =                        []-                   -- use rule "Transform.ag"(line 849, column 40)+                   -- use rule "Transform.ag"(line 859, column 40)                    _lhsOruleInfos =                        []-                   -- use rule "Transform.ag"(line 850, column 40)+                   -- use rule "Transform.ag"(line 860, column 40)                    _lhsOsigInfos =                        []                in  ( _lhsOaugmentInfos,_lhsOdefinedInsts,_lhsOorderDepsCollect,_lhsOpragmaNamesCollect,_lhsOruleInfos,_lhsOsigInfos,_lhsOuniqueInfos)) )@@ -4120,25 +4130,25 @@                     _tlIruleInfos :: ([RuleInfo])                     _tlIsigInfos :: ([SigInfo])                     _tlIuniqueInfos :: ([UniqueInfo])-                    -- use rule "Transform.ag"(line 852, column 40)+                    -- use rule "Transform.ag"(line 862, column 40)                     _lhsOaugmentInfos =                         _hdIaugmentInfos ++ _tlIaugmentInfos-                    -- use rule "Transform.ag"(line 913, column 55)+                    -- use rule "Transform.ag"(line 923, column 55)                     _lhsOdefinedInsts =                         _hdIdefinedInsts ++ _tlIdefinedInsts-                    -- use rule "Transform.ag"(line 715, column 44)+                    -- use rule "Transform.ag"(line 725, column 44)                     _lhsOorderDepsCollect =                         _hdIorderDepsCollect `Set.union` _tlIorderDepsCollect-                    -- use rule "Transform.ag"(line 684, column 46)+                    -- use rule "Transform.ag"(line 694, column 46)                     _lhsOpragmaNamesCollect =                         _hdIpragmaNamesCollect ++ _tlIpragmaNamesCollect-                    -- use rule "Transform.ag"(line 849, column 40)+                    -- use rule "Transform.ag"(line 859, column 40)                     _lhsOruleInfos =                         _hdIruleInfos ++ _tlIruleInfos-                    -- use rule "Transform.ag"(line 850, column 40)+                    -- use rule "Transform.ag"(line 860, column 40)                     _lhsOsigInfos =                         _hdIsigInfos ++ _tlIsigInfos-                    -- use rule "Transform.ag"(line 851, column 40)+                    -- use rule "Transform.ag"(line 861, column 40)                     _lhsOuniqueInfos =                         _hdIuniqueInfos ++ _tlIuniqueInfos                     ( _hdIaugmentInfos,_hdIdefinedInsts,_hdIorderDepsCollect,_hdIpragmaNamesCollect,_hdIruleInfos,_hdIsigInfos,_hdIuniqueInfos) =@@ -4155,25 +4165,25 @@                     _lhsOruleInfos :: ([RuleInfo])                     _lhsOsigInfos :: ([SigInfo])                     _lhsOuniqueInfos :: ([UniqueInfo])-                    -- use rule "Transform.ag"(line 852, column 40)+                    -- use rule "Transform.ag"(line 862, column 40)                     _lhsOaugmentInfos =                         []-                    -- use rule "Transform.ag"(line 913, column 55)+                    -- use rule "Transform.ag"(line 923, column 55)                     _lhsOdefinedInsts =                         []-                    -- use rule "Transform.ag"(line 715, column 44)+                    -- use rule "Transform.ag"(line 725, column 44)                     _lhsOorderDepsCollect =                         Set.empty-                    -- use rule "Transform.ag"(line 684, column 46)+                    -- use rule "Transform.ag"(line 694, column 46)                     _lhsOpragmaNamesCollect =                         []-                    -- use rule "Transform.ag"(line 849, column 40)+                    -- use rule "Transform.ag"(line 859, column 40)                     _lhsOruleInfos =                         []-                    -- use rule "Transform.ag"(line 850, column 40)+                    -- use rule "Transform.ag"(line 860, column 40)                     _lhsOsigInfos =                         []-                    -- use rule "Transform.ag"(line 851, column 40)+                    -- use rule "Transform.ag"(line 861, column 40)                     _lhsOuniqueInfos =                         []                 in  ( _lhsOaugmentInfos,_lhsOdefinedInsts,_lhsOorderDepsCollect,_lhsOpragmaNamesCollect,_lhsOruleInfos,_lhsOsigInfos,_lhsOuniqueInfos)) )
src/Version.hs view
@@ -1,4 +1,4 @@ module Version where
 
 banner :: String
-banner = "Attribute Grammar compiler / HUT project. Version 0.9.17"
+banner = "Attribute Grammar compiler / HUT project. Version 0.9.18"
uuagc.cabal view
@@ -1,7 +1,7 @@ cabal-version: >=1.2 build-type: Simple name: uuagc-version: 0.9.17+version: 0.9.18 license: GPL license-file: LICENSE maintainer: Arie Middelkoop <ariem@cs.uu.nl>
uuagc.cabal-for-ghc-6.6 view
@@ -1,5 +1,5 @@ name: uuagc-version: 0.9.17+version: 0.9.18 license: GPL license-file: LICENSE maintainer: Arie Middelkoop <ariem@cs.uu.nl>