nonterminal PrimPatterns

In file: PrimitiveMatch.sv

nonterminal PrimPattern

In file: PrimitiveMatch.sv

concrete production matchPrimitiveConcrete

###### top::Expr ::= 'match' e::Expr 'return' t::Type 'with' pr::PrimPatterns 'else' '->' f::Expr 'end' In file: PrimitiveMatch.sv

abstract production matchPrimitive

###### top::Expr ::= e::Expr t::Type pr::PrimPatterns f::Expr In file: PrimitiveMatch.sv

abstract production matchPrimitiveReal

###### top::Expr ::= e::Expr t::Type pr::PrimPatterns f::Expr In file: PrimitiveMatch.sv

concrete production onePattern

###### top::PrimPatterns ::= p::PrimPattern In file: PrimitiveMatch.sv

concrete production consPattern

###### top::PrimPatterns ::= p::PrimPattern '|' ps::PrimPatterns In file: PrimitiveMatch.sv

concrete production prodPattern

###### top::PrimPattern ::= qn::QName '(' ns::VarBinders ')' '->' e::Expr In file: PrimitiveMatch.sv

abstract production prodPatternNormal

###### top::PrimPattern ::= qn::Decorated QName ns::VarBinders e::Expr In file: PrimitiveMatch.sv

abstract production prodPatternGadt

###### top::PrimPattern ::= qn::Decorated QName ns::VarBinders e::Expr In file: PrimitiveMatch.sv

abstract production integerPattern

###### top::PrimPattern ::= i::Int_t '->' e::Expr In file: PrimitiveMatch.sv

abstract production stringPattern

###### top::PrimPattern ::= i::String_t '->' e::Expr In file: PrimitiveMatch.sv

abstract production booleanPattern

###### top::PrimPattern ::= i::String '->' e::Expr In file: PrimitiveMatch.sv

abstract production nilPattern

###### top::PrimPattern ::= e::Expr In file: PrimitiveMatch.sv

abstract production conslstPattern

###### top::PrimPattern ::= h::Name t::Name e::Expr In file: PrimitiveMatch.sv

function skolemizeProductionType

###### TypeExp ::= te::TypeExp In file: Types.sv

function fullySkolemizeProductionType

###### TypeExp ::= te::TypeExp In file: Types.sv

attribute refineWith

In file: Types.sv

attribute refine

In file: Types.sv

aspect production varTypeExp

###### top ::= tv::TyVar In file: Types.sv

aspect production skolemTypeExp

###### top ::= tv::TyVar In file: Types.sv

aspect production intTypeExp

###### top ::= In file: Types.sv

aspect production boolTypeExp

###### top ::= In file: Types.sv

aspect production floatTypeExp

###### top ::= In file: Types.sv

aspect production stringTypeExp

###### top ::= In file: Types.sv

aspect production nonterminalTypeExp

###### top ::= fn::String params::[TypeExp] In file: Types.sv

aspect production terminalTypeExp

###### top ::= fn::String In file: Types.sv

aspect production decoratedTypeExp

###### top ::= te::TypeExp In file: Types.sv

aspect production functionTypeExp

###### top ::= out::TypeExp params::[TypeExp] namedParams::[NamedArgType] In file: Types.sv

aspect production foreignTypeExp

###### top ::= fn::String params::[TypeExp] In file: Types.sv

function produceRefinement

###### Substitution ::= scrutineeType::TypeExp constructorType::TypeExp In file: Types.sv

function refine

###### Substitution ::= te1::TypeExp te2::TypeExp In file: Types.sv

function refineAll

###### Substitution ::= te1::[TypeExp] te2::[TypeExp] In file: Types.sv

function isOnlyTyVars

###### Boolean ::= ls::[TypeExp] In file: Types.sv

nonterminal VarBinders

In file: VarBinders.sv

nonterminal VarBinder

In file: VarBinders.sv

concrete production oneVarBinder

###### top::VarBinders ::= v::VarBinder In file: VarBinders.sv

concrete production consVarBinder

###### top::VarBinders ::= v::VarBinder ',' vs::VarBinders In file: VarBinders.sv

concrete production nilVarBinder

###### top::VarBinders ::= In file: VarBinders.sv

concrete production varVarBinder

###### top::VarBinder ::= n::Name In file: VarBinders.sv

concrete production ignoreVarBinder

###### top::VarBinder ::= '_' In file: VarBinders.sv