Típusszerkesztő - Type constructor

A területen a matematikai logika és a számítástechnika ismert típusú elmélet , a típus kivitelező egyik jellemzője a beírt hivatalos nyelv , amely épít új típusok régiek. Az alaptípusokat null típusú konstruktorok felhasználásával építjük fel. Néhány típus a konstruktőrök újabb típusú érvként, például a konstruktőrök számára terméktípusok , függvény típusú , teljesítmény típusú és listatípusokra . Új típusok definiálhatók a rekurzív komponens-konstrukciókkal.

Például az egyszerűen beírt lambda-számítást egyetlen típusú konstruktor - a függvény típusú konstruktor - nyelveként tekinthetjük meg. Termék típusok általában tekinthető „beépített” a gépelt lambda calculi keresztül kikészítéséhez .

Elvileg egy típus konstruktor egy n- típusú típusú operátor , amely nulla vagy több típust vesz fel argumentumként, és egy másik típust ad vissza. A curry használatával az n- típusú operátorok (un) típusúak az unár típusú operátorok alkalmazássorozataként. Ezért a típusú operátorokat egyszerűen beírt lambda-számításként tekinthetjük meg, amelynek csak egy alaptípusa van, általában jelölve és kimondva "típus", amely az alapul szolgáló nyelv összes típusa, amelyeket ma a megfelelő típusoknak neveznek . annak érdekében, hogy megkülönböztessék őket a saját számításukban szereplő típusú operátorok típusaitól, amelyeket fajtának neveznek .

A típusoperátorok megköthetik a típusú változókat. Például az egyszerűen beírt λ-számítás struktúrájának megadása típus szinten kötelező vagy magasabb rendű típusú operátorokat igényel. Ezek a kötő típusú operátorok megfelelnek a 2 ND tengelye a λ-kocka , és írja elméletek, mint például az egyszerűen tipizált λ-kalkulus típusú szereplők, λ co . A típusú operátorokat a polimorf λ-kalkulussal ( F rendszer ) kombinálva az F ω rendszert kapjuk .

Lásd még

Hivatkozások

  • Pierce, Benjamin (2002). Típusok és programozási nyelvek . MIT Press. ISBN 0-262-16209-1., 29. fejezet, "Típusüzemeltetők és kedvelés"
  • PT Johnstone , Egy elefánt vázlatai , p. 940