A::< (# ... #); B: A(# ... #)
Previous version of BETA has supported the use of virtual patterns as super patterns, but due to efficiency considerations virtual super patterns are no longer supported.
A virtual pattern that has been final bound may be used as a superpattern as shown in the following example:
A:: (# ... #); B: A(# ... #)
The situation may also occur in a more indirect way:
graph: (# node:< (# ... #); nodeList: @list(# element::< node #); ... #);
Here the virtual further binding of element in list is not allowed, since node is itself virtual.
The current version of the compiler will allow final binding using a pattern that is itself virtual. That is, you can do this:
graph: (# node:< (# ... #); nodeList: @list(# element:: node #); ... #);
BETA Language Modifications - Reference Manual | © 1999-2002 Mjølner Informatics |
[Modified: Sunday October 22nd 2000 at 0:53]
|