------------------------------------------------------------------------- -- 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 %%]