This is great stuff. I think the idea of a pluggable type system is interesting(seems cleaner to me), but would it really add to the power of a type system say of the CLR.
My meaning here is, at some level all types are comprised of some other basic types. For example, you could say have a variable of type bmp... but at a basic level it can be expressed as a byte array.
Unless we start doing things like var x = new SQLserver(), wouldn't a pluggable type system just allow us to more easily work with this super set of types? But then again, couldn't the same be accomplished by creating the class and doing a lot of operator
overloading? Or, would this be a way to dynamically type these complex object types?
Or, and this very well could be the case, am I just missing the point?
edit: just an after thought. its mentioned that a built in type system can limit the ability of a language to adapt over time... but the first thing that pops to mind is... Fortran had ints an strings and arrays... and so does the CLR(albeit a little smarter).
Theres nearly 50 years between now and when fortran came out.. Just for a chuckle.