From Wikipedia, the free encyclopedia
|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.
Consider the following example written in the C programming language:
- include <stdio.h>
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 = 0in print "Hello World\n"end
There are no manifest types in this program, but the compiler still infers the types
int for them, and would reject the expression
s+x as a compile-time error.
|This programming language-related article is a stub. You can help Wikipedia by expanding it.|