[MUD-Dev] Object Models

Miroslav Silovic silovic at zesoi.fer.hr
Wed Nov 29 17:36:00 New Zealand Daylight Time 2000

"John Buehler" <johnbue at msn.com> writes:

> Fortunately, it is not MY basic assumption that the construction
> paradigm is edit/compile/etc.  The primary requirement for system
> construction using the techniques that I learned is strong typing.
> Thus precise contracts, etc.  The reason that dynamic systems are a
> bear is because you have to know how to construct and implement
> contracts on the fly.

I disagree with this. I have never heard about a system that can
verify pre/postconditions, loop invariants and class invariants by
static code analisys, and without this capability, contracts in
themselves aren't much help (correct me if you in fact do use such a

Without this, runtime typechecking is not much worse than compile-time
typechecking - and some systems can convert any arbitrary predicate
into a type.

> As a general problem that may even be intractable (completely
> off-hand remark).  But I'm sure that some certain class of primitive
> contracts can be composed and implemented on the fly.  For example,
> get/set methods for attributes and the like.

Uh, since you just check your data at runtime, nothing's different
from a non-dynamic system (except that a code branch has to be reached
in order for the contract to be tested). This is much less of a
problem that it seems (because you test your code function by
function, in a bottom-up manner).

Whenever I use strong typing, I'm left with an impression that I spend
lots of effort declaring things for VERY little gain - this is because
most of my errors end up having nothing to do with anything that can
be statically checked.

How to eff the ineffable?
MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list