Uses of Class
orc.ast.simple.expression.Expression

Packages that use Expression
orc.ast.extended.declaration   
orc.ast.extended.declaration.def   
orc.ast.extended.declaration.type   
orc.ast.extended.expression   
orc.ast.extended.pattern   
orc.ast.simple.expression   
 

Uses of Expression in orc.ast.extended.declaration
 

Methods in orc.ast.extended.declaration that return Expression
 Expression ValDeclaration.bindto(Expression target)
           
 Expression SiteDeclaration.bindto(Expression target)
           
 Expression IncludeDeclaration.bindto(Expression target)
           
 Expression DefsDeclaration.bindto(Expression target)
           
abstract  Expression Declaration.bindto(Expression target)
           
 Expression ClassDeclaration.bindto(Expression target)
           
 

Methods in orc.ast.extended.declaration with parameters of type Expression
 Expression ValDeclaration.bindto(Expression target)
           
 Expression SiteDeclaration.bindto(Expression target)
           
 Expression IncludeDeclaration.bindto(Expression target)
           
 Expression DefsDeclaration.bindto(Expression target)
           
abstract  Expression Declaration.bindto(Expression target)
           
 Expression ClassDeclaration.bindto(Expression target)
           
 

Uses of Expression in orc.ast.extended.declaration.def
 

Methods in orc.ast.extended.declaration.def that return Expression
 Expression Clause.simplify(java.util.List<Variable> formals, Expression otherwise)
          Simplify a clause.
 

Methods in orc.ast.extended.declaration.def with parameters of type Expression
 Expression Clause.simplify(java.util.List<Variable> formals, Expression otherwise)
          Simplify a clause.
 

Uses of Expression in orc.ast.extended.declaration.type
 

Methods in orc.ast.extended.declaration.type that return Expression
 Expression TypeDeclaration.bindto(Expression target)
           
 Expression TypeAliasDeclaration.bindto(Expression target)
           
 Expression DatatypeDeclaration.bindto(Expression target)
           
 

Methods in orc.ast.extended.declaration.type with parameters of type Expression
 Expression TypeDeclaration.bindto(Expression target)
           
 Expression TypeAliasDeclaration.bindto(Expression target)
           
 Expression DatatypeDeclaration.bindto(Expression target)
           
 

Uses of Expression in orc.ast.extended.expression
 

Methods in orc.ast.extended.expression that return Expression
 Expression Expression.Arg.bind(Expression e)
          Wraps a binder around the given expression if needed.
 Expression Throw.simplify()
           
 Expression Temporary.simplify()
           
 Expression Stop.simplify()
           
 Expression Sequential.simplify()
           
 Expression Pruning.simplify()
           
 Expression Parallel.simplify()
           
 Expression Otherwise.simplify()
           
 Expression NilExpr.simplify()
           
 Expression Name.simplify()
           
 Expression Literal.simplify()
           
 Expression ListExpr.simplify()
           
 Expression Let.simplify()
           
 Expression Lambda.simplify()
           
 Expression IfThenElse.simplify()
           
 Expression HasType.simplify()
           
 Expression Field.simplify()
           
abstract  Expression Expression.simplify()
          Simplify an expression which occurs in a call (non-nested) position.
 Expression Dot.simplify()
           
 Expression Declare.simplify()
           
 Expression ConsExpr.simplify()
           
 Expression Catch.simplify()
           
 Expression Capsule.simplify()
           
 Expression Call.simplify()
           
 Expression AssertType.simplify()
           
 

Methods in orc.ast.extended.expression with parameters of type Expression
 Expression Expression.Arg.bind(Expression e)
          Wraps a binder around the given expression if needed.
 

Uses of Expression in orc.ast.extended.pattern
 

Fields in orc.ast.extended.pattern declared as Expression
 Expression Attachment.e
           
 

Methods in orc.ast.extended.pattern that return Expression
 Expression Attachment.attach(Expression f)
           
 Expression Attachment.attach(Expression f, Type t)
           
static Expression Pattern.caseof(Variable arg, Variable s, Expression succ, Expression fail)
          Constructs an optional case statement.
static Expression Pattern.compare(Argument s, Argument t)
          Construct an expression comparing two arguments.
static Expression Pattern.fail()
          Return a default expression to use in case a pattern match fails.
 Expression PatternSimplifier.filter()
           
static Expression Pattern.lift(Variable x)
          Lifts a partial function to a total function, using the ; combinator to detect a refusal to respond, and publishing optional values instead of values.
static Expression Pattern.nth(Argument s, int i)
          Construct an expression which publishes the ith element of tuple s.
 Expression PatternSimplifier.target(Variable u, Expression g)
           
static Expression Pattern.trycons(Argument s)
          Constructs an expression which will try to deconstruct an argument as if it were a list.
static Expression Pattern.trynil(Argument s)
          Constructs an expression which tests whether the argument s can be treated as an empty list (nil).
static Expression Pattern.trysize(Argument s, int n)
          Construct an expression to determine whether the argument s may be viewed as a tuple of size n.
static Expression Pattern.unapply(Argument m, Argument s)
          Construct an expression which tries to find the inverse of the site m, and apply it to s.
 

Methods in orc.ast.extended.pattern with parameters of type Expression
 void PatternSimplifier.assign(Variable s, Expression e)
           
 Expression Attachment.attach(Expression f)
           
 Expression Attachment.attach(Expression f, Type t)
           
static Expression Pattern.caseof(Variable arg, Variable s, Expression succ, Expression fail)
          Constructs an optional case statement.
 Expression PatternSimplifier.target(Variable u, Expression g)
           
 

Constructors in orc.ast.extended.pattern with parameters of type Expression
Attachment(Variable v, Expression e)
           
 

Uses of Expression in orc.ast.simple.expression
 

Subclasses of Expression in orc.ast.simple.expression
 class Call
           
 class Catch
           
 class DeclareDefs
          A group of mutually recursive definitions, and the expression to which they are scoped.
 class DeclareType
          A syntactic type declaration, and the expression to which it is scoped.
 class HasType
          An expression with an ascribed syntactic type.
 class Let
           
 class Otherwise
           
 class Parallel
           
 class Pruning
           
 class Sequential
           
 class Stop
           
 class Throw
           
 class WithLocation
          Annotate an expression with a source location.
 

Fields in orc.ast.simple.expression declared as Expression
 Expression HasType.body
           
 Expression Def.body
           
 Expression DeclareType.body
           
 Expression DeclareDefs.body
           
 

Methods in orc.ast.simple.expression that return Expression
 Expression Expression.subMap(java.util.Map<FreeVariable,? extends Argument> m)
          Perform a set of substitutions defined by a map.
 Expression WithLocation.subst(Argument a, FreeVariable x)
           
 Expression Throw.subst(Argument a, FreeVariable x)
           
 Expression Stop.subst(Argument a, FreeVariable x)
           
 Expression Pruning.subst(Argument a, FreeVariable x)
           
 Expression Parallel.subst(Argument a, FreeVariable x)
           
 Expression Otherwise.subst(Argument a, FreeVariable x)
           
 Expression Let.subst(Argument a, FreeVariable x)
           
 Expression HasType.subst(Argument a, FreeVariable x)
           
abstract  Expression Expression.subst(Argument a, FreeVariable x)
          Performs the substitution [a/x], replacing occurrences of the free variable x with the new argument a (which could be any argument, including another variable).
 Expression DeclareType.subst(Argument a, FreeVariable x)
           
 Expression DeclareDefs.subst(Argument a, FreeVariable x)
           
 Expression Catch.subst(Argument a, FreeVariable x)
           
 Expression Call.subst(Argument a, FreeVariable x)
           
 Expression WithLocation.subst(Type T, FreeTypeVariable X)
           
 Expression Throw.subst(Type T, FreeTypeVariable X)
           
 Expression Stop.subst(Type T, FreeTypeVariable X)
           
 Expression Sequential.subst(Type T, FreeTypeVariable X)
           
 Expression Pruning.subst(Type T, FreeTypeVariable X)
           
 Expression Parallel.subst(Type T, FreeTypeVariable X)
           
 Expression Otherwise.subst(Type T, FreeTypeVariable X)
           
 Expression Let.subst(Type T, FreeTypeVariable X)
           
 Expression HasType.subst(Type T, FreeTypeVariable X)
           
abstract  Expression Expression.subst(Type T, FreeTypeVariable X)
          Performs the substitution [T/X], replacing occurrences of the free type variable X with the type T (which could be any type, including another variable).
 Expression DeclareType.subst(Type T, FreeTypeVariable X)
           
 Expression DeclareDefs.subst(Type T, FreeTypeVariable X)
           
 Expression Catch.subst(Type T, FreeTypeVariable X)
           
 Expression Call.subst(Type T, FreeTypeVariable X)
           
 Expression Expression.subvar(TypeVariable U, FreeTypeVariable X)
          Performs the substitution [U/X], replacing occurrences of the free type variable X with the nameless type variable U.
 Expression Expression.subvar(Variable v, FreeVariable x)
          Performs the substitution [v/x], replacing occurrences of the free variable x with the nameless variable v.
 

Methods in orc.ast.simple.expression that return types with arguments of type Expression
static java.util.List<Expression> Expression.substAll(java.util.List<Expression> es, Argument a, FreeVariable x)
          Convenience method, to apply a substitution to a list of expressions.
 

Method parameters in orc.ast.simple.expression with type arguments of type Expression
static java.util.List<Expression> Expression.convertAll(java.util.List<Expression> es, Env<Variable> vars, Env<TypeVariable> typevars)
          Convenience method, to apply convert to a list of expressions.
static java.util.List<Expression> Expression.substAll(java.util.List<Expression> es, Argument a, FreeVariable x)
          Convenience method, to apply a substitution to a list of expressions.
 

Constructors in orc.ast.simple.expression with parameters of type Expression
Catch(Def handlerDef, Expression tryBlock)
           
DeclareDefs(java.util.List<Def> defs, Expression body)
           
DeclareType(Type type, TypeVariable name, Expression body)
           
Def(Variable name, java.util.List<Variable> formals, Expression body, java.util.List<TypeVariable> typeParams, java.util.List<Type> argTypes, Type resultType, SourceLocation location)
          Note that the constructor takes a bound Var as a name parameter.
HasType(Expression body, Type type, boolean checkable)
           
Otherwise(Expression left, Expression right)
           
Parallel(Expression left, Expression right)
           
Pruning(Expression left, Expression right, Variable v)
           
Sequential(Expression left, Expression right, Variable v)
           
Throw(Expression exception)
           
WithLocation(Expression expr, SourceLocation location)