I agree with just about everything you wrote. I only have two minor quibbles and they may merely be restatements of what you meant.
--- Rob Kinyon <[EMAIL PROTECTED]> wrote: > Overriding the operators in a generic way so that you have > to have an exact type match before you compare values also, > imho, shouldn't be that hard. So, for the relational calculus, > you can have very strong typing. Minor nit: we're discussing to the relational algebra and not the relational Calculus (unless the topic changed and I wasn't paying attention. I wouldn't be surprised :) > > * The domain of acceptable values (potentially infinite) > > * Selectors to cast to and from the value > > * Operators and their behaviors > > I would argue that you don't have selectors, by default. You > should have to explicitly add a selector. Otherwise, into > C-land you will go, my son! I'm not entirely sure, but I think we agree here. You have to have, at minimum, one selector for each new datatype if for no other reason than to cast a string to your new data type. Otherwise, your data types would only be constants because you would have no way of assigning a value. Cheers, Ovid -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/