[e-lang] Object definitions in guard-based auditing: ideas needed
Kevin Reid
kpreid at mac.com
Sun Jun 24 19:27:28 EDT 2007
I'm working on guard-based auditing in E-on-CL. I've got the auditing
working, but I'm encountering a series of problems as to how to
arrange for auditors to get enough information.
Here's my current problem:
def foo implements DeepFrozenStamp { ... }
def bar implements DeepFrozen { to baz() { return foo } }
How should the Audition for bar provide enough information for
DeepFrozen to approve bar?
What works for now is to insert a guard, but it's rather ugly:
def foo :DeepFrozen := { def foo implements DeepFrozenStamp {} }
Extending the syntax to allow "def foo :DeepFrozen { ... }" does not
seem possible because it would make self-reference non-transparent.
Exposing the 'implements' clause's elements is not an option because
they are not necessarily guards (and if they are, they don't
necessarily behave exactly the same way as a guard and as an
auditor), and as in the example above they might be closely held stamps.
--
Kevin Reid <http://homepage.mac.com/kpreid/>
More information about the e-lang
mailing list