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:
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]
 |