Manifest typing
|
|
It has been suggested that this article or section be merged into Type_system#Explicit_or_implicit_declaration_and_inference. (Discuss) Proposed since August 2009. |
|
|
|---|
|
Type safety |
In computer science, manifest typing is when the software programmer explicitly identifies the type of each variable being declared. For example: if variable X is going to store integers then its type must be declared as integer.
In contrast, some programming languages use implicit typing (a.k.a. type inference) where the type is deduced from context or allow for dynamic typing in which the variable is just declared and may be assigned a value of any type at runtime.
[edit] Examples
Consider the following example written in the C programming language:
#include <stdio.h> int main(void) { char s[] = "Test String"; float x = 0.0; int y = 0; printf("Hello World\n"); return 0; }
Note that the variables s, x, and y were declared as a character array, floating point number, and an integer, respectively. The type system rejects, at compile-time, such fallacies as trying to add s and x.
In contrast, in Standard ML, the types are not explicitly declared. Instead, the type is determined by the type of the assigned expression.
let val s = "Test String"
val x = 0.0
val y = 0
in print "Hello World\n"
end
There are no manifest types in this program, but the compiler still infers the types string, real and int for them, and would reject the expression s+x as a compile-time error.
[edit] See also
[edit] External links
| This programming language-related article is a stub. You can help Wikipedia by expanding it. |