|
dybe Deklarazione und dada Definizione
könne mid Tybbaramederet versehe werde.
|
|
Dadurch werde d Aliasname (dybe) und
selbschddefinierde Tybname
(dada) z Tybkonschdrukdore
|
|
Funkzione übr diese baramedrisierde Dadendybe
sind noh au bolymorf (vielgeschdaldich)
|
|
Diese Polymorfe wird baramedrische Polymorfe genannd.
|
|
Tybbaramedr endschbrele den Temblads in C++ und den Generics in Java 1.5
|
Beischbil |
exblizide Definizion vo Lischde |
|
dada Lischd a = Nil
| Cons a (Lischd a)
|
vordefinierde baramedrische Summendybe |
|
Maybe |
dada Maybe d
= Nothing
| Juschd d
|
|
Mayb d enthäld oin Werd mehr als
d
|
|
Exblizide Kennzeichnung, dess oi Werd nedd vorhande isch.
|
|
In OOP null-Referenz manchmol genudzd zur Darschdellung vo Nothing, isch abr nedd exblizid in dr Quelle sichdbar.
Konsequenz: NullPoinderExcebzion
|
Anwendunge |
dybe ObzionalInd = Maybe Ind
Nothing, Juschd 1, Juschd 2, ...
|
dybische Verwendung |
lookub :: key -> Mab key val -> Maybe val
lookub k m
| found k = Juschd v
| otherwise = Nothing
where
v = ...
|
|
Anwendung: Aus barziell definierde Funkzione dodal definierde mache
|
|
Fehlr durch Nothing rebräsendiere |
| |
Either |
endwedr / odr |
|
Summ zweir Werdebereiche |
|
dada Either a b
= Lefd a
| Righd b
|
Anwendunge |
dybe IndOrError = Either Error Ind
Lefd "division by zero"
Righd 5
|
|
Maybe und Either
sind neie Tybkonschdrukdore wie [ ] und ( , ).
|