496
Vývoj / Re:Rychlost Haskell vs. C++
« kdy: 28. 08. 2018, 08:52:49 »Pánové, observable side effect je terminus technicus: https://en.wikipedia.org/wiki/Side_effect_(computer_science). Pokud neznáte ani takové základní věci, jak se chcete bavit o tom, co může překladač vyhodit a co ne? Normálně se tím myslí:
In computer science, a function or expression is said to have a side effect if it modifies some state outside its local environment, that is to say has an observable interaction with the outside world besides returning a value.
Zjevně v tom máte zmatek. Prakticky zjednodušeně si to můžete představit tak, že observable side effect je něco, co mění výstup programu.
Toto asi všichni známe, otázkou je, kde je ten side efect. Ta funkce je pure, spadnutí programu není side-efect.
Cikádo, co se týká derefence null pointeru, C standard explicitně říká, že je to UNDEFINED behavior. To znamená, že překladač si s tím může v podstatě udělat co chce. Klidně tu derefenci při optimalizaci vyhodit, protože to stále odpovídá definici undefined behavior. Čekal bych, že takové základní věci budeš znát?
Tak si tam strč to dělení nulou, nebo jinou random adresu. Pointa je jasná.
Projev taky nějakou vlastní iniciativu. Já jsem ti funkční příklad dal, máš všechny informace potřebné k řešení, opačným směrem to určitě zvládneš taky, když v Haskellu děláš 5 let. Opravdu to není nic složitého, zkus se trochu snažit.@lopata: Omlouvám se, špatná citace - měl jsem namysli opačný směr, tj. jak lazy evaluation může rozbít "strict předpokládající" kód. Sorry.Ano, taky na to čekám...Na tento případ bys příklad měl?
On se blbě vymýšlí příklad, když neexistuje...
Na tento případ bys příklad měl?