„Haskell (programozási nyelv)” változatai közötti eltérés

[ellenőrzött változat][nem ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
84. sor:
</source>
 
Haskellben három típuskonstrukciós lehetőség van.
Új adattípusok létrehozása ''adatkonstruktorokkal'' lehetséges. Például a logikai típusnak két, paraméter nélküli konstruktora van, az egyik az igaz, a másik a hamis értékre.
Legegyszerűbb a ''type'' kulcsszóval hasznalható, csupan típusszinonímát hoz letre
<source lang=haskell>
type Name = String
</source>
''newtype'' mar új típus. Technikailag konstrukorokat használ mint az algebrai adattípus, azonban ez forditás folyamán mar eltűnik.
<source lang=haskell>
newtype Name = Name Sting
</source>
Harmadik lehetőseg a ''data'' kulcsszó. Ezzel algebrai adattípusokat adhatunk meg
<source lang=haskell>
data Name
= Name Sting
| NoName
</source>
 
A Haskell alapértelmezett könyvtárában (a ''Prelude''-ben) található Bool típus definíciója is így néz ki
Magasabbrendű típusokból ''típuskonstruktorral'' lehet alkalmazható típusokat létrehozni.
<source lang=haskell>
data Bool
= False
| True
</source>
 
==== Algebrai típusok ====