`[all packages] [package ] [class hierarchy] [index]`

# public abstract class PremonExp

(source file: PremonExp.java)

    java.lang.Object
       |
       +----Printable
               |
               +----PremonExp

The pure class interface.

    public abstract class PremonExp
      extends Printable

  The syntactic class of expressions (without syntax sugar, and with type annotations).

  Author:
    Alan Jeffrey
  Version: v1.0 1998/06/09

##

PremonExp()

##

cat
  The category of the expression.
free
  The free variables of the expression.
type
  The type of the expression.

##

apply(PremonExp)
  Apply this expression to another.
semantics()
  The semantics of the expression.
semanticsFrom(PremonCon)
  The semantics of the expression, from a given context (which should be an extension of

##

PremonExp

    public PremonExp();

##

cat

    public PremonCat cat;

  The category of the expression.

type

    public PremonType type;

  The type of the expression.

free

    public PremonCon free;

  The free variables of the expression.

##

semantics

    public abstract Mor semantics();

  The semantics of the expression.

  Returns:
    [[free this : type]] : [[free]] [[type]]

semanticsFrom

    public Mor semanticsFrom(PremonCon Gamma);

  The semantics of the expression, from a given context (which should be an extension of free).

  Parameters:
    Gamma - the context to use.
  Returns:
    [[Gamma this : type]] : [[Gamma]] [[type]] = [[Gamma free]] ; [[free this : type]]

apply

    public PremonExp apply(PremonExp N)
      throws TypeError;

  Apply this expression to another.

  Parameters:
    N - the argument.
  Returns:
    the application of this to N.
  Throws:
    TypeError -if either:
    - this is not a value.
    - this is not a function type.
    - the argument type of this is different from the type of N.

`[all packages] [package ] [class hierarchy] [index]`

###### PremonExp.html