Chris Uppal wrote: > doesn't fit with my intuitions very well -- most noticeably in that the sets > are generally unbounded
Errr, not in Ada. Indeed, not in any machine I know of with a limited address space. Andreas Rossberg wrote: > Indeed, this view is much too narrow. In particular, it cannot explain > abstract types, which is *the* central aspect of decent type systems. Well, it's Ada's view. I didn't say it was right for theoretical languages or anything like that. As far as I know, LOTOS is the only language that *actually* uses abstract data types - you have to use the equivalent of #include to bring in the integers, for example. Everything else uses informal rules to say how types work. But Ada's definition gives you a very nice way of talking about things like whether integers that overflow are the same type as integers that don't overflow, or whether an assignment of an integer to a positive is legal, or adding a CountOfApples to a CountOfOranges is legal, or whether passing a "Dog" object to an "Animal" function parameter makes sense in a particular context. Indeed, the ability to declare a new type that has the exact same underlying representation and isomorphically identical operations but not be the same type is something I find myself often missing in languages. It's nice to be able to say "this integer represents vertical pixel count, and that represents horizontal pixel count, and you don't get to add them together." -- Darren New / San Diego, CA, USA (PST) My Bath Fu is strong, as I have studied under the Showerin' Monks. -- http://mail.python.org/mailman/listinfo/python-list