Type strength: Difference between revisions

no edit summary
mNo edit summary
No edit summary
Line 9:
Modern strongly typed languages provide some mechanisms resembling weak typing, while preserving the semantics well-defined. For example, they allow [[polymorphism]] (overloading, overriding, generics), user-defined implicit conversions, types inference. In all such cases, the programmer becomes responsible to define the semantics of ambiguous constructs. For instance, an overridden procedure has to be given an implementation consistent with contract of the class. Because the semantics of such definitions is ultimately decomposed into strongly typed predefined language constructs, one hopes that the result would be in turn well-defined.
 
Untyped languages have a type system with only few types of the first-class objects, sometimes only one. These types are built-in and anonymous. If more than one, they are resolved syntactically. Untyped are low-level languages (e.g. [[Assembly]], [[Forth]]) and some domain-specific languages.
Anonymous user