Ce se defineste cu newtype ?

From HaskellWiki
Revision as of 10:20, 23 June 2009 by Ha$kell (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Cu newtype se definesc tipuri noi, separate de cele existente.

Ele pot avea ACEEASI structura cu tipurile vechi (adica pot sa fie tot, sa zicem, arbori binari) dar nu se vor confunda cu tipurile dinainte.

Asemenea tipuri pot fi folosite atunci cand vrem sa ne asiguram ca tipul nou creat nu are cu nimic de-a face cu vechile structuri algebrice si vechile functii ale tipului celuilalt. (Daca v-ati lovit de problema suprapunerii de nume cand ati dorit sa definiti o functie pentru un tip si numele era folosit, intelegeti motivul, este similar.)

In practica este folosit printre altele la a defini tipul suport al unei noi monade dorite de utilizator, dar nu e singura utilizare.