<< Prev | - Up - | Next >> |
The module Tuple
contains procedures operating on tuples.
IsTuple
{Tuple.is
+X
?B
}
tests whether X
is a tuple.
MakeTuple
{Tuple.make
+L
+I
?T
}
binds T
to new tuple with label L
and fresh variables at features 1
through I
. I
must be non-negative, else an error exception is raised.
For example, {MakeTuple L N T}
waits until L
is bound to a literal, say b
, and N
is bound to a number, say 3
, whereupon T
is bound to b(_ _ _)
.
toArray
{Tuple.toArray
+T
?A
}
returns an array with bounds between 1
and {Width
T
}
, where the elements of the array are the subtrees of T
.
append
{Tuple.append
+T1
+T2
?T3
}
returns a tuple with same label as T2
. Given that T1
has width i and T2
has width j, T3
will have width i +
j, and the first i fields of T3
will be the same as the fields of T1
in their original order, and the fields i + 1
through i +
j will be the same as the fields of T2
in their original order.
<< Prev | - Up - | Next >> |