[e-lang] Some minor bugs (switch and traceln)

Kevin Reid kpreid at mac.com
Tue Feb 16 04:05:14 PST 2010


On Feb 16, 2010, at 4:58, Thomas Leonard wrote:

> Ah, it's probably called 'remotes/trunk' (I think it calls it 'git- 
> svn' in my copy because I only cloned one branch). "git branch -a"  
> will list all branches if you still don't see it.

Got it. My error; I forgot about -a and the distinction it made.

> Coming from Java, I was quite surprised that you could implement an
> interface without implementing the methods it defines, though.


The "interface" expression is really a shortcut to a bunch of guard/ 
auditor functionality, none of which actually cares about methods; the  
body containing message declarations is just for documentation purposes.

Or so we've sometimes thought; the future definition of 'interface'  
really is in doubt. In particular, the non-"guards" interface  
declaration has no useful security properties even though it looks  
like it might (due to __conformTo leaking the guard-which-is-the- 
stamp), and it might lose the rubber-stamp functionality altogether,  
especially if my "signature" proposal <http://wiki.erights.org/wiki/Signature 
 > goes into effect.

Remember, E does not have a static type system; for all E knows, the  
contract of the object *is* to throw whenever you call any of its  
methods. And since E objects are opaque, there is no *should-be- 
visible* distinction between "doesn't have this method" and  
"deliberately throws when you call this", other than the  
__getAllegedType.

-- 
Kevin Reid                                  <http://switchb.org/kpreid/>






More information about the e-lang mailing list