ruler-0.4.0.0: src/AbsSyn/AbsSyn2.cag
-------------------------------------------------------------------------
-- Haskell interface to Ruler AST pass 2
-------------------------------------------------------------------------
%%[1 hs module (AbsSyn.AbsSyn2)
%%]
%%[1 hs export (module Expr.Expr, module Ty.Ty, module ARule.ARule, module ViewSel.ViewSel)
%%]
%%[1 hs export (AGItf(..), Decl(..), Decls, RsVwDecl(..), RsVwDecls, AttrAGDecl(..), DataAGDecl(..), DataAGAlt(..), DataAGAlts)
%%]
%%[1 hs export (DataAGFld(..), DataAGFlds, VwDecl(..), VwDecls, RlDecl(..), RlDecls, Jd(..), Jds, JdAt(..), JdAts, wrapInChunk)
%%]
%%[1 hs import (qualified Data.Set as Set, Opts, Common, Expr.Expr, Ty.Ty, ARule.ARule, ViewSel.ViewSel)
%%]
%%[1 ag import ({AbsSyn/AbsSyn2AG}, {AbsSyn/CommonAG})
%%]
-------------------------------------------------------------------------
-- Optional wrap in chunk
-------------------------------------------------------------------------
%%[1 hs
wrapInChunk :: (Nm -> a->a) -> Opts -> Nm -> a -> a
wrapInChunk mk opts n
= if optFragWrap opts
then mk n
else id
%%]