computation.spad line 417 [edit on github]
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.
return true
if equal, that is names are equal and if there is a type then they must also be equal
returns the name of the variable.
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 []
construct a variable by parsing a string
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
returns the name and the type in string form.
constructs variable with a name but no type.
constructs variable with a name and also a type.