"Type casting" can mean a lot of different things. There are at least 3 completely different use cases:
Converting between specific different types (e.g. numeric types). That is possible in ML through respective functions, they just aren't disguised as "casts"
Casting back and forth from/to a top type (like
Object
orvoid*
). This is just a hack to work around inexpressive type systems. Fortunately, ML has proper parametric polymorphism and algebraic datatypes, so doesn't normally need this.Doing nasty low-level trickery, subverting the type system completely. That is generally not supported in ML, since it is designed to be a safe, high-level language.
What form of type casting are you interested in in particular, and why?