-
Footnotes:
1The suffixes .pcc,
.pCpp etc. can also be used.
2Alternatively, inheritance may be used.
3for simplicity, we'll use a string representation for atoms
instead of a more efficient method.
4For efficiency,
bounds checking is not performed.
5Patterns are discussed in
section 4.3.
6The implementation
has only been tested on Linux, SunOS and Solaris. Please contact the
author for details
if you'd like to port the collector to your particular platform.
7
The current
implementation of Prop translates inference into very naive code.
This feature will be phased out and replaced by
the more general and much faster graph rewriting mechanism.
8The
variable e is assigned the new copy.
9Rewriting
of a generic graph structure is not recommended with rewrite.
10
If an expression argument is not given to a cutrewrite statement, then
the redex is left unchanged.
11
To ensure termination of the optimization process,
augmented rules will not be further specialized.
12The implementation may not be effective.
13However, this feature
has not been fully tested.
14An alpha version also works under Solaris. Thanks
to Paul Dietz for the patch.
15In Prop, a special keyword
collectable is used to identify garbage collected classes and types.
The Prop translator uses this type annotation to derive the appropriate
tracing methods.
16This base class is also inherited from class
Mem, so that it adheres to the Prop memory management
protocol.
Allen Leung
Mon Apr 7 14:33:55 EDT 1997