[e-lang] Towards LamportSlot Unums

Martin Scheffler martinscheffler at googlemail.com
Mon Mar 12 15:16:17 CDT 2007


Re yesterday's SVN check in:

My version of makeLamportSlot now has a method asPBC().
Using readOnly() for creating pbc versions made it hard for me to pass
out read only versions by proxy.
I propose using asPBC() for all unum objects. This way it is easier to
know if you are returning by proxy or pbc.

def makePBCLamportSlot implements pbc{

    to __optUncall() :any {
        return [<import>, "get",
["de.flowdev.emonkey.tools.makePBCLamportSlot"]]
    }

(...)

    def lamportReporter implements EverReporter {

            to readOnly() :Slot {
               return lamportReporter
            }

            to asPBC() :any {
                def lamportReporterPBC extends lamportReporter implements pbc{
                    to __optUncall() :any {
                        return [makePBCLamportSlot, "localShadow",
[lamportReporter.get(), lamportReporter]]
                    }
                }
                lamportReporterPBC
            }
(...)
}


More information about the e-lang mailing list