This shows you the differences between two versions of the page.
pp:21:laboratoare:haskell:clase [2021/04/19 23:44] bot.pp |
pp:21:laboratoare:haskell:clase [2021/04/24 19:18] (current) bot.pp |
||
---|---|---|---|
Line 2: | Line 2: | ||
* Data publicării: 19.04.2021 | * Data publicării: 19.04.2021 | ||
- | * Data ultimei modificări: 19.04.2021 | + | * Data ultimei modificări: 20.04.2021 |
===== Obiective ===== | ===== Obiective ===== | ||
Line 19: | Line 19: | ||
Polimorfismul este un mecanism al limbajului Haskell (și nu doar al acestuia) prin care se poate defini un **set de operații (interfață comună)** pentru mai multe tipuri. Categoriile de polimorfism pe care le vom întâlni cel mai des în Haskell sunt: parametric și ad-hoc. | Polimorfismul este un mecanism al limbajului Haskell (și nu doar al acestuia) prin care se poate defini un **set de operații (interfață comună)** pentru mai multe tipuri. Categoriile de polimorfism pe care le vom întâlni cel mai des în Haskell sunt: parametric și ad-hoc. | ||
- | ====== Polimorfism parametric ====== | + | ===== Polimorfism parametric ===== |
Așa cum ați observat în laboratoarele anterioare, Haskell permite definirea de funcții care operează pe structuri de date generice. Să luăm spre exemplu funcția ''%%length%%''. Aceasta permite calcularea lungimii oricărei liste, indiferent de tipul elementelor din listă. Această proprietate a limbajului poartă denumirea de **polimorfism parametric**. | Așa cum ați observat în laboratoarele anterioare, Haskell permite definirea de funcții care operează pe structuri de date generice. Să luăm spre exemplu funcția ''%%length%%''. Aceasta permite calcularea lungimii oricărei liste, indiferent de tipul elementelor din listă. Această proprietate a limbajului poartă denumirea de **polimorfism parametric**. |