Christopher Smith wrote:
Well, actually they are called "Simple Types" and they have a number of
special properties that user defined types don't and cannot have.
Like what? I know they have a number of special properties, but other
than being special-cased in the code generator and CLR, I'm not aware of
what the built-in value types do that the user-defined value types can't
do. Care to enlighten me?
did improve the autoboxing, operator overloading, and various other
syntactic sugars so that these types can be null
Not sure what you mean by "these types can be null", and the autoboxying
and overloading both work for user-defined value types.
but you still have that whole weird const vs. static readonly thing,
Not sure what that means. You mean a lack of literals for user-defined
types? Very few languages allow you to define your own literals. (FORTH
definitely. Lisp maybe? Tcl in some sense?)
odd things with type promotion,
Pretty sure you can do this with your own types, just by defining
implicit or explicit casting operators.
> compile time evaluation,
Well, yeah, but that's an optimization.
certain reserved operators,
Oh? I didn't find any operator that works on built-in types that doesn't
work on user-defined types.
Certainly it's nowhere near as bad as Java's distinction between int and
Integer.
--
Darren New / San Diego, CA, USA (PST)
It's not feature creep if you put it
at the end and adjust the release date.
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg