Anar al contingut

Tipado sensitivo al fluix

De L'Enciclopèdia, la wikipedia en valencià

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]