Różnice
Różnice między wybraną wersją a wersją aktualną.
Both sides previous revision
Poprzednia wersja
|
Ostatnia wersja
Both sides next revision
|
pl:dydaktyka:pp:haskell:lab-monads [2020/05/25 15:37] msl przywrócono poprzednią wersję (2020/05/25 15:30) |
pl:dydaktyka:pp:haskell:lab-monads [2020/05/25 16:07] msl [Zadania:] |
Klasa ''Applicative'' umożliwa używanie funkcji opakowanych monadą. | Klasa ''Applicative'' umożliwa używanie funkcji opakowanych monadą. |
| |
Poniżej jest przykładowa implementacja ''Applicative'', która jest poprawna, ale nie dba o porządek elementów w drzewie (lepszej nam nie trzeba raczej na dzisiaj): | Poniżej jest przykładowa implementacja ''Applicative'', która jest poprawna, ale akceptuje tylko pojedyncze funkcje opakowane w liściach - na dzisiaj wystarczy: |
* ''pure'' to dokładnie to samo, co ''return''. Tak naprawdę w Monadzie zawsze można pisać: ''return = pure'' | * ''pure'' to dokładnie to samo, co ''return''. Tak naprawdę w Monadzie zawsze można pisać: ''return = pure'' |
* ''%%<*>%%'' aplikuje funkcję opakowaną monadą, taki ''fmap'', który wyjmuje funkcję z pudełka, a nie ma go pod ręką | * ''%%<*>%%'' aplikuje funkcję opakowaną monadą, taki ''fmap'', który wyjmuje funkcję z pudełka, a nie ma go pod ręką |