Viz vys - nepotrebujes vedet co jsou, ale monada se za tim najit da, konkretne monada funkci, co meni stav (stavova monada).
Ja s tim souhlasim, ale o co mi slo. Ze se nekdo zepta (zacatecnik v FP), jak tedy FP meni stavy, kdyz je vse immutable. A dostane odpoved, ktera je 100 % sravna, ale nejslozitejsi a pro novacka naprosto nevhodna. Chtel jsem rict, ze zakladni princip je mnohem jednodussi. Misto toho se dozvim, ze 18 lety chovanec jedlickova ustavu je chytrejsi nez ja a mel bych nechat IT...
Přesně tak, navíc je ta odpověď pro někoho, kdo FP nezná, zavádějící. Ani stavová monáda totiž stav nemění v tom smyslu, že by upravovala nějakou mutable strukturu, jak by mohlo někoho, kdo FP nezná, napadnout.
Stavová monáda je jen (když to zjednoduším) sada funkcí a datových struktur, které jsou vhodné pro popis a kombinování immutable stavových automatů. Navíc v jazycích se syntaktickou podporou pro monadické operace (haskell, scala) takové popisy vypadají skoro jako jako instrukce v imperativních programech (proto se taky monádám občas říká "programovatelný středník". I tady ale stále platí to, že při vykonávání programu se staré immutable stavy zahazují a vytvářejí se nové, jak tu někdo napsal přede mnou, a podle mě to opravdu nejlépe vystihuje, jak se v FP řeší stav.