3016
Vývoj / Re:Má Haskell budoucnost?
« kdy: 15. 05. 2016, 18:20:00 »Dobře, můžeš tvrdit, že IO Monad se vyhodnocuje nějak "líně" tím, že se tam protahuje přes všechny funkce RealWord#, ale to je prostě nějaké teoretické zdůvodnění - prakticky se to prostě vyhodnocuje "eager" (teda mě není vůbec moc jasné, co vlastně v případě monadu má znamenat "lazy" a "strict"....)To není teoretické zdůvodnění, to je princip, jakým to funguje.
Mohlo by to být i jinak, třeba že bys generoval list IO operací a ty potom realtime provedl přesně v tom pořadí, v jakém v listu jsou. Ale to by bylo mimo jazyk. Ten jazyk sám o sobě by zůstal pořád líný.
Prostě pokud v líném jazyce chceš vynutit pořadí, uděláš to třeba pomocí monády a pokud chceš vynutit línost v nelíném jazyce, uděláš to třeba pomocí futures. Oboje jde a ani jedno neporušuje línost/nelínost toho jazyka. Je to jenom způsob, jak ho nějakou fintou donutit udělat něco, co by jinak "sám od sebe" negarantoval.
...no a to je právě ta pointa: mně přijde, že pořadí potřebujeme častěji, proto je lepší ho mít jako default a finty používat na línost, ne naopak.