| It has been suggested that this article or section be merged into Type_system#Explicit_or_implicit_declaration_and_inference. (Discuss) |
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 (aka. 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.
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.
See also
External links
int main(){} |
This programming language-related article is a stub. You can help Wikipedia by expanding it. |
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)




