[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