Wpisywanie manifestu — Manifest typing
Systemy typu |
---|
Pojęcia ogólne |
Główne kategorie |
Pomniejsze kategorie |
W informatyce, manifest typowania jest wyraźna identyfikacja przez programistę oprogramowania w rodzaju każdej zmiennej jest zadeklarowana. Na przykład: jeśli zmienna X będzie przechowywać liczby całkowite, to jej typ musi być zadeklarowany jako liczba całkowita. Określenie „manifest wpisując” jest często używany z terminem utajonego typowania opisać różnicę między statyczne , kompilacji członkostwa typu obiektu i jego run-time typu tożsamości.
W przeciwieństwie do tego, niektóre języki programowania używają niejawnego pisania (aka wnioskowania o typie ), w którym typ jest wywnioskowany z kontekstu w czasie kompilacji lub umożliwiają dynamiczne wpisywanie, w którym zmienna jest właśnie zadeklarowana i może mieć przypisaną wartość dowolnego typu w czasie wykonywania.
Przykłady
Rozważmy następujący przykład napisany w języku programowania C :
#include <stdio.h>
int main(void) {
char s[] = "Test String";
float x = 0.0;
int y = 0;
printf("Hello, World!\n");
return 0;
}
Zauważ, że zmienne s , x i y zostały zadeklarowane odpowiednio jako tablica znaków, liczba zmiennoprzecinkowa i liczba całkowita. System typów odrzuca w czasie kompilacji takie błędy, jak próba dodania s i x .
W przeciwieństwie do tego, w Standard ML , te typy nie muszą być wyraźnie zadeklarowane. Zamiast tego typ jest określany przez typ przypisanego wyrażenia.
let val s = "Test String"
val x = 0.0
val y = 0
in print "Hello, World!\n"
end
Nie ma żadnych oczywistych typów w tym programie, ale kompilator nadal wnioskuje typy string
, real
i int
dla nich, i odrzuci ekspresję s+x
jako błąd kompilacji.