Teoria dei tipi: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: Aggiungo: nl:Typentheorie |
m →Altri progetti: Aggiunto il parametro "Preposizione" nel template "Interprogetto" |
||
(21 versioni intermedie di 16 utenti non mostrate) | |||
Riga 1:
{{F|teorie dell'informatica|maggio 2014}}
Dal punto di vista più generale, la '''teoria dei tipi''' è la branca della [[matematica]] e della [[logica]] che si occupa di classificare generiche ''entità'', raggruppandole in collezioni chiamate ''tipi''. Sotto questo punto di vista vi sono punti di contatto con la [[Tipo (metafisica)|nozione di tipo della metafisica]]. La moderna formulazione della teoria dei tipi è, in parte, nata dal tentativo di dare una risposta al cosiddetto [[Paradosso di Russell]], ed è estesamente trattata nei ''[[Principia Mathematica]]'' di [[Bertrand
==Descrizione==
Con la diffusione di [[computer]] sempre più potenti, e l'introduzione di [[Linguaggio di programmazione|linguaggi di programmazione]] per lo sviluppo di [[Programma (informatica)|programmi]]
:''"Un sistema di tipi è un metodo sintattico
::(''Types and Programming Languages'', MIT Press, [[2002]])
In altre parole, un sistema di tipi divide i valori manipolati dai programmi in ''insiemi'' chiamati ''tipi'' - eseguendo un'operazione chiamata ''assegnazione del tipo'' o ''tipizzazione'' - e fa sì che certi determinati comportamenti del programma siano, o non siano, possibili in base al tipo dei valori coinvolti in questi comportamenti.
Per esempio, supponiamo che un sistema di tipi classifichi il valore <code>ciao</code> come [[stringa (informatica)|stringa]]
:<code>ciao</code> + <code>5</code>
La progettazione e l'implementazione di un sistema di tipi è un argomento vasto e complesso, quasi come lo stesso linguaggio di programmazione che lo utilizza. Gli ideatori e gli studiosi dei sistemi di tipi si spingono ad
È importante notare che la trattazione fin qui fatta si riferisce ai [[Tipo statico|tipi statici]]
▲È importante notare che la trattazione fin qui fatta si riferisce ai [[Tipo statico|tipi statici]]: I sistemi di tipi ed i linguaggi che fanno uso di [[Tipo dinamico|tipi dinamici]] non sono in grado di verificare a priori che un programma faccia un uso corretto dei valori, e quindi generano un [[Eccezione (informatica)|errore]] ogni volta che il programma si comporta in modo da farne un uso scorretto. Per questa ragione, secondo alcuni, la definizione "tipo dinamico" è intrinsecamente poco appropriata. Comunque, in molti linguaggi [[Linguaggio orientato agli oggetti|orientati agli oggetti]] che fanno uso di tipi dinamici, un tipo è qualcosa di più di un [[Interfaccia (informatica)|interfaccia]] e, finché le classi condividono interfacce, non è necessario preoccuparsi di sapere a quale classe appartiene un dato oggetto.
==Voci correlate==
* [[Paradosso di Russell]]
* [[Principia Mathematica]]
* [[Sistema dei tipi]]
* [[Teoria dei linguaggi di programmazione]]
*[[Teoria dei tipi intuizionista]]
==Altri progetti==
{{interprogetto|preposizione=sulla}}
==Collegamenti esterni==
* {{Collegamenti esterni}}
* {{
[[Categoria:Teoria dei tipi| ]]
|