[M3devel] Implementing the "Singleton pattern" in Modula-3
Mika Nystrom
mika at async.caltech.edu
Mon Apr 6 22:31:57 CEST 2009
Tony, Jay, you two seem to be most knowledgeable about this.
Let's say I wanted to implement the "singleton pattern" in
Modula-3. At present there seems to be no way of doing this.
What about changing RTAllocator.callback as follows (or adding
another callback):
VAR callback : PROCEDURE(r : REFANY) : REFANY := NIL;
(* If non-NIL, the allocator calls "callback(r)" just before returning
a new traced reference "r" and instead returns the result of callback(r).
See "RTAllocStats" for an example client. It is a checked runtime error
for the typecode of r to differ from the typecode of the return value of
callback(r). *)
Mika
More information about the M3devel
mailing list