[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