Tipado sensitivo al fluix
En teoria de llenguage de programació, tipificación sensible al fluix és un sistema de tipos a on el tipo d'una variable és determinat pel fluix de control.
Clásicamente, en els llenguages en tipifícado estàtic, una variable queda lligada a un tipo durant tot el seu temps d'us. En els sistemes d'tipificación sensible al fluix, el tipo d'una variable pot canviar dins del cos d'un método, mentres travessa (o fluïx a través de) les estructures de control. El tipo es determina usant inferència de tipos i l'informació de tipos fluïx usant Tipo de senya algebraica.
Eixemple
[editar | editar còdic]El següent eixemple en Ceylon ilustra el concepte:
// Object? significa que la variable "name" és de tipo Object pero pots ser null
void hello(Object? name) {
if (is String name) {
// Ara "name" has tipo String en este bloc
print("Hola, ''name''!");
// és possible ara usar métodos sobre String en ella
print(" String.size val ''name.size''");
}
else if (exists name) {
// Ara "name" té tipo Object en este bloc
print("Hola, objecte ''name''!");
}
else {
print("Hola a tots!");
}
}La seua eixida és la següent:
Hola a tots! Hola, objecte 1! Hola, Pedro Pérez! String.size val 8
Beneficis
[editar | editar còdic]Esta tècnica en conjunt en l'inferència de tipos reduïx la necessitat d'escriure anotacions de tipo para totes les variables o fer conversió de tipos, com ocorre en llenguages en sistemes dinàmics de tipos, reduïx la verbositat en els llenguages i ajuda a produir còdic més conciso, més fàcil de llegir i modificar.
Pot també ajudar a obtindre implementacions més ràpides de llenguages en tipos dinàmics en predir estáticamente el tipo d'objectes.
Referències
[editar | editar còdic]
- Este artícul conté una traducció derivada de «Tipado sensitivo al flujo» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.