VarCatΒΆ

computation.spad line 417

VarCat represents a variable in Lambda and Ski domains. Since we are working in terms of functions then a variable will be a function (possibly a constant function) a variable has a name represented by a String. If the Lambda or Ski calculus is typed then the variable will also have a type.

=: (%, %) -> Boolean
return true if equal, that is names are equal and if there is a type then they must also be equal
coerce: % -> OutputForm
from CoercibleTo OutputForm
getName: % -> String
returns the name of the variable.
getType: % -> ILogic
returns the type of the variable. This may be a compound type, for instance [“a”,"b"] represents a->b a function from type a to type b untyped implementations return []
parseVar: String -> %
construct a variable by parsing a string
parseVarTerm: (String, NonNegativeInteger) -> Record(rft: %, pout: NonNegativeInteger)
construct a variable by parsing a string pin is index to string at start of parse pout is index to string at end of parse
toString: % -> String
returns the name and the type in string form.
var: (String, ILogic) -> %
constructs variable with a name and also a type.
var: String -> %
constructs variable with a name but no type.

CoercibleTo OutputForm