[silver:compiler:extension:implicit_monads]
Contents of [silver:compiler:extension:implicit_monads]
:
Defined in this grammar:
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Expr.sv line 5.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Expr.sv line 9.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Expr.sv line 15.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Expr.sv line 23.
(Undocumented.)
aspect default production top::Expr ::=
{#aspect_default_production_silver:compiler:definition:core:Expr}
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Expr.sv line 28.
(Undocumented.)
function buildMonadApplicationLambda
(Expr ::= realtys::[Type] monadTysLocs::[Pair<Type Integer>] monadAnns::[(Type,QName,Boolean)] expectedMonad::Type funType::Type bindFun::Boolean wrapReturn::Boolean
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Expr.sv line 287.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Expr.sv line 307.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Expr.sv line 319.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Expr.sv line 327.
(Undocumented.)
function buildMonadApplicationBody
(Expr ::= monadTysLocs::[Pair<Type Integer>] funargs::AppExprs annargs::AnnoAppExprs monadType::Type funTy::Type bindFun::Boolean wrapReturn::Boolean
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Expr.sv line 336.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Expr.sv line 1426.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Expr.sv line 1670.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Expr.sv line 1672.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Expr.sv line 1674.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Expr.sv line 1679.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Expr.sv line 1683.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Expr.sv line 1684.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Expr.sv line 1685.
(Undocumented.)
abstract production restrictedSynDcl
(top::AttributeDclInfo ::= fn::String bound::[TyVar] ty::Type
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/DclInfo.sv line 4.
(Undocumented.)
abstract production restrictedInhDcl
(top::AttributeDclInfo ::= fn::String bound::[TyVar] ty::Type
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/DclInfo.sv line 25.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/DclInfo.sv line 48.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/DclInfo.sv line 69.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/DclInfo.sv line 94.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/DclInfo.sv line 98.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/DclInfo.sv line 104.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/DclInfo.sv line 108.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/ProductionBody.sv line 1.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/ProductionBody.sv line 4.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/ProductionBody.sv line 5.
(Undocumented.)
concrete production emptyAttributeDef
(top::ProductionStmt ::= 'implicit' dl::DefLHS '.' attr::QNameAttrOccur '=' ';'
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/ProductionBody.sv line 12.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/ProductionBody.sv line 52.
(Undocumented.)
concrete production implicitAttributeDef
(top::ProductionStmt ::= 'implicit' dl::DefLHS '.' attr::QNameAttrOccur '=' e::Expr ';'
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/ProductionBody.sv line 56.
(Undocumented.)
concrete production restrictedAttributeDef
(top::ProductionStmt ::= 'restricted' dl::DefLHS '.' attr::QNameAttrOccur '=' e::Expr ';'
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/ProductionBody.sv line 96.
(Undocumented.)
concrete production unrestrictedAttributeDef
(top::ProductionStmt ::= 'unrestricted' dl::DefLHS '.' attr::QNameAttrOccur '=' e::Expr ';'
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/ProductionBody.sv line 137.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/ProductionBody.sv line 181.
(Undocumented.)
abstract production restrictedSynAttributeDef
(top::ProductionStmt ::= dl::Decorated! DefLHS attr::Decorated! QNameAttrOccur e::Expr
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/ProductionBody.sv line 192.
(Undocumented.)
abstract production restrictedInhAttributeDef
(top::ProductionStmt ::= dl::Decorated! DefLHS attr::Decorated! QNameAttrOccur e::Expr
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/ProductionBody.sv line 219.
(Undocumented.)
abstract production implicitSynAttributeDef
(top::ProductionStmt ::= dl::Decorated! DefLHS attr::Decorated! QNameAttrOccur e::Expr
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/ProductionBody.sv line 249.
(Undocumented.)
abstract production implicitInhAttributeDef
(top::ProductionStmt ::= dl::Decorated! DefLHS attr::Decorated! QNameAttrOccur e::Expr
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/ProductionBody.sv line 281.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/PrimitiveMatch.sv line 12.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/PrimitiveMatch.sv line 13.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 22.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 24.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 26.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 29.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 34.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 37.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 43.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 49.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 56.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 65.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 80.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 88.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 97.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 112.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 120.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 132.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 133.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 136.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 148.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 149.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 161.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 166.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 176.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Util.sv line 185.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Let.sv line 71.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Let.sv line 72.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Let.sv line 74.
(Undocumented.)
concrete production attributeDclInh_Restricted
(top::AGDcl ::= 'restricted' 'inherited' 'attribute' a::Name tl::BracketedOptTypeExprs '::' te::TypeExpr ';'
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/AttributeDefs.sv line 4.
(Undocumented.)
concrete production attributeDclSyn_Restricted
(top::AGDcl ::= 'restricted' 'synthesized' 'attribute' a::Name tl::BracketedOptTypeExprs '::' te::TypeExpr ';'
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/AttributeDefs.sv line 34.
(Undocumented.)
concrete production attributeDclInh_Implicit
(top::AGDcl ::= 'implicit' 'inherited' 'attribute' a::Name tl::BracketedOptTypeExprs '::' te::TypeExpr ';'
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/AttributeDefs.sv line 66.
(Undocumented.)
concrete production attributeDclSyn_Implicit
(top::AGDcl ::= 'implicit' 'synthesized' 'attribute' a::Name tl::BracketedOptTypeExprs '::' te::TypeExpr ';'
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/AttributeDefs.sv line 98.
(Undocumented.)
concrete production attributeDclInh_Unrestricted
(top::AGDcl ::= 'unrestricted' 'inherited' 'attribute' a::Name tl::BracketedOptTypeExprs '::' te::TypeExpr ';'
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/AttributeDefs.sv line 132.
(Undocumented.)
concrete production attributeDclSyn_Unrestricted
(top::AGDcl ::= 'unrestricted' 'synthesized' 'attribute' a::Name tl::BracketedOptTypeExprs '::' te::TypeExpr ';'
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/AttributeDefs.sv line 141.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 1.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 8.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 9.
(Undocumented.)
fun monadicallyUsedExpr
(Boolean ::= elst::[Expr] env::Env sub::Substitution f::BlockContext gn::String cg::EnvTree<Decorated RootSpec> c::Decorated CmdArgs fe::FlowEnv em::Type iR::Boolean oR::[Decorated Expr]
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 137.
(Undocumented.)
function monadicMatchTypesNames
(([(Type,(Expr,String))],[Expr]) ::= elst::[Decorated Expr with MonadInhs] tylst::[Type] names::[String] env::Env sub::Substitution em::Type index::Integer
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 155.
(Undocumented.)
function monadCompileCaseExpr
(Expr ::= es::[Expr] ml::[AbstractMatchRule] failExpr::Expr retType::Type env::Env
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 218.
(Undocumented.)
function monadCompilePatternGroups
(Expr ::= matchEs::[Expr] ruleGroups::[[AbstractMatchRule]] finalFail::Expr retType::Type env::Env
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 270.
(Undocumented.)
function monadAllConCaseTransform
(PrimPattern ::= currExpr::Expr restExprs::[Expr] failCase::Expr retType::Type mrs::[AbstractMatchRule] env::Env
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 329.
(Undocumented.)
concrete production mcaseExpr_c
(top::Expr ::= 'case_any' es::Exprs 'of' vbar::Opt_Vbar_t ml::MRuleList 'end'
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 364.
(Undocumented.)
function mcaseBindsApps
(Expr ::= exprs::[Expr] names::[String] base::Expr env::Env sub::Substitution f::BlockContext gn::String cg::EnvTree<Decorated RootSpec> c::Decorated CmdArgs fe::FlowEnv em::Type iR::Boolean oR::[Decorated Expr]
)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 464.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 498.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 527.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 528.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 529.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 530.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 531.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 532.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 533.
(Undocumented.)
Contained in grammar [silver:compiler:extension:implicit_monads]
. Defined at silver/compiler/extension/implicit_monads/Case.sv line 534.
(Undocumented.)