Chris F Clark schrieb: > In that sense, a static type system is eliminating tags, because the > information is pre-computed and not explicitly stored as a part of the > computation. Now, you may not view the tag as being there, but in my > mind if there exists a way of perfoming the computation that requires > tags, the tag was there and that tag has been eliminated.
On a semantic level, the tag is always there - it's the type (and definitely part of an axiomatic definition of the language). Tag elimination is "just" an optimization. > To put it another way, I consider the tags to be axiomatic. Most > computations involve some decision logic that is driven by distinct > values that have previously been computed. The separation of the > values which drive the compuation one-way versus another is a tag. > That tag can potentially be eliminated by some apriori computation. Um... just as precomputing constants, I'd say. Are the constants that went into a precomputed constant eliminated? On the implementation level, yes. On the semantic/axiomatic level, no. Or, well, maybe - since that's just an optimization, the compiler may have decided to no precompute the constant at all. (Agreeing with the snipped parts.) Regards, Jo -- http://mail.python.org/mailman/listinfo/python-list