Má Haskell budoucnost?

andy

Re:Má Haskell budoucnost?
« Odpověď #165 kdy: 15. 05. 2016, 19:29:53 »
A není to nakonec Monad docela hezký způsob jak popsat, co má program dělat?
Je to způsob, jak zabezpečit pořadí vyhodnocování v jazyce, který ho jinak negarantuje. Konceptuálně je to na úrovni toho listu operací, akorát Monad je mazanější :)

Jak bys to popsal jinak?
V tomhle není sporu. Mně se jenom nelíbilo, jak's psal o tom, že jakoby v monádách laziness neplatí. Platí úplně stejně jako kdekoli jinde. Je to právě způsob, jak i přes laziness dosáhnout řazení.
Souhlas. A teď jen nechápu, proč je teda laziness v haskellu problém...


Re:Má Haskell budoucnost?
« Odpověď #166 kdy: 15. 05. 2016, 19:30:41 »
hack je možná trochu silné slovo, ani netvrdím, že nejsou užitečná i jinde, sám je používám až příliš, nicméně viz "tackling the awkward squad" :)
Tam je právě úplně explicitně napsán opak toho, co tvrdíš: "Well, if the side effect can’t be in the functional program, it will have to be outside it" (str. 3)

Žádný "hack", žádné zatahování nečistých věcí. Pořád ta stejná čistota - čistým způsobem se generují instrukce k provádění nečistých věcí (vně jazyka samotného).

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Má Haskell budoucnost?
« Odpověď #167 kdy: 15. 05. 2016, 19:32:25 »
To není tak úplně pravda.
Není to ani trochu pravda.
Jen jsem to napsal trochu diplomatičtěji ;)

Re:Má Haskell budoucnost?
« Odpověď #168 kdy: 15. 05. 2016, 19:33:00 »
Souhlas. A teď jen nechápu, proč je teda laziness v haskellu problém...
Není to problém. Je to omezení, které způsobuje, že jednoduché věci musíš pak dělat složitě (pomocí té IO monády). Prostě je to trade off - je to krásná vlastnost, ale něco stojí (a stojí hodně). Proto většina FP jazyků jde opačnou cestou - jsou "nečisté", ale díky tomu snadněji použitelné.

Re:Má Haskell budoucnost?
« Odpověď #169 kdy: 15. 05. 2016, 19:34:13 »
Proto většina FP jazyků jde opačnou cestou - jsou "nečisté", ale díky tomu snadněji použitelné.
Resp. ne-čisté a ne-lazy, ať se zas netaháme za nohu :)


zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Má Haskell budoucnost?
« Odpověď #170 kdy: 15. 05. 2016, 19:34:35 »
Mě naopak připadá, že dát tam nějaký hack kvůli tomu, že chceš IO popsat nějak jinak, než všechno ostatní, co děláš, by nebylo úplně dobré....
proč si něco nalhávat? monády v haskellu jsou hack kvůli potřebě popsat IO a udržet zbytek čistý
To není tak úplně pravda. Monády jsou "čisté" ve smyslu FP. Navíc tam nejsou jen pro IO. Chce to ale ponořit se trochu hlouběji do matematického aparátu, jenž za nimi stojí.
hack je možná trochu silné slovo, ani netvrdím, že nejsou užitečná i jinde, sám je používám až příliš, nicméně viz "tackling the awkward squad" :)

Já bych je spíš popsal jako "sofistikovaný způsob dosažení cíle bez narušení a priori daných self-imposed principů". Ale to už je dost subjektivní hodnocení. Nicméně formálně opravdu "čisté" (ve smyslu FP) jsou.

v

Re:Má Haskell budoucnost?
« Odpověď #171 kdy: 15. 05. 2016, 19:39:53 »
Já bych je spíš popsal jako "sofistikovaný způsob dosažení cíle bez narušení a priori daných self-imposed principů".
není možné, že jste opět diplomatický?

Nicméně formálně opravdu "čisté" (ve smyslu FP) jsou.
osobně s čistotou IO v haskellu nemám žádný filosofický ani jiný problém, ale najdou se tací, kteří mají, i tady na rootu se o tom vedly dabaty

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Má Haskell budoucnost?
« Odpověď #172 kdy: 15. 05. 2016, 19:45:07 »
Já bych je spíš popsal jako "sofistikovaný způsob dosažení cíle bez narušení a priori daných self-imposed principů".
není možné, že jste opět diplomatický?

Nicméně formálně opravdu "čisté" (ve smyslu FP) jsou.
osobně s čistotou IO v haskellu nemám žádný filosofický ani jiný problém, ale najdou se tací, kteří mají, i tady na rootu se o tom vedly dabaty
Jo, je to možné :) Jinak mi je čistota Haskellu úplně ukradená, jen se mi prostě líbí použití dost abstraktního konceptu (monády) na něco praktického, nicméně přiznávám, že v tomto případě mně zajímá hlavně ta formální (matematická) stránka věci, protože funkcionálně píšu jen v jazycích převážně imperativních. Konkrétně u Haskellu mi ta debata navíc přijde dost žabomyší.

v

Re:Má Haskell budoucnost?
« Odpověď #173 kdy: 15. 05. 2016, 19:45:26 »
Souhlas. A teď jen nechápu, proč je teda laziness v haskellu problém...
Není to problém. Je to omezení, které způsobuje, že jednoduché věci musíš pak dělat složitě (pomocí té IO monády). Prostě je to trade off - je to krásná vlastnost, ale něco stojí (a stojí hodně). Proto většina FP jazyků jde opačnou cestou - jsou "nečisté", ale díky tomu snadněji použitelné.
tvrdíte, že kdyby byl haskell "strict", nepotřeboval by IO monádu?

Re:Má Haskell budoucnost?
« Odpověď #174 kdy: 15. 05. 2016, 19:49:22 »
tvrdíte, že kdyby byl haskell "strict", nepotřeboval by IO monádu?
To byste musel definovat, co myslíte tím "strict" v kontextu pure jazyka. Já pořád moc nevím, co si pod tím mám představit.

Kdyby nebyl pure, tak IO monádu nepotřebuje, o tom snad není sporu. Takových jazyků je několik.

Re:Má Haskell budoucnost?
« Odpověď #175 kdy: 15. 05. 2016, 19:50:47 »
P.S. a omlouvám se, teď se na chvíli debaty nebudu účastnit, dám nezdvořile přednost paření Wolfa ;)

v

Re:Má Haskell budoucnost?
« Odpověď #176 kdy: 15. 05. 2016, 20:02:24 »
tvrdíte, že kdyby byl haskell "strict", nepotřeboval by IO monádu?
To byste musel definovat, co myslíte tím "strict" v kontextu pure jazyka. Já pořád moc nevím, co si pod tím mám představit.

Kdyby nebyl pure, tak IO monádu nepotřebuje, o tom snad není sporu. Takových jazyků je několik.
strict: před vyhodnocením funkce jsou vyhodnoceny její argumenty
takže jak už víceméně zaznělo:
f a b = a
strict: f 1 undefined = undefined
lazy: f 1 undefined = 1
(snad to tak stačí, nedělám si nárok na matematickou preciznost)

v

Re:Má Haskell budoucnost?
« Odpověď #177 kdy: 15. 05. 2016, 20:25:04 »
Já bych je spíš popsal jako "sofistikovaný způsob dosažení cíle bez narušení a priori daných self-imposed principů".
není možné, že jste opět diplomatický?

Nicméně formálně opravdu "čisté" (ve smyslu FP) jsou.
osobně s čistotou IO v haskellu nemám žádný filosofický ani jiný problém, ale najdou se tací, kteří mají, i tady na rootu se o tom vedly dabaty
Jo, je to možné :) Jinak mi je čistota Haskellu úplně ukradená, jen se mi prostě líbí použití dost abstraktního konceptu (monády) na něco praktického, nicméně přiznávám, že v tomto případě mně zajímá hlavně ta formální (matematická) stránka věci, protože funkcionálně píšu jen v jazycích převážně imperativních. Konkrétně u Haskellu mi ta debata navíc přijde dost žabomyší.
aspoň mám důvod či záminku dostudovat trochu teorie, zároveň si říkám, že takové debaty se asi vedly o kvantové fyzice nebo kvazikrystalech :)

Re:Má Haskell budoucnost?
« Odpověď #178 kdy: 15. 05. 2016, 20:26:40 »
tvrdíte, že kdyby byl haskell "strict", nepotřeboval by IO monádu?
To byste musel definovat, co myslíte tím "strict" v kontextu pure jazyka. Já pořád moc nevím, co si pod tím mám představit.

Mel jsi tu par prikladu, kdy se ti neco 'vyhodnoti' bud na ⊥ nebo jinou hodnotu podle toho zda predavas parametry striktne nebo line. Ty priklady se chovaji stejne v pure i nepure jazycich.

Edit: v mne, koukam, predbehl ;)

« Poslední změna: 15. 05. 2016, 20:28:28 od Ondra Satai Nekola »

zboj

  • *****
  • 1 507
    • Zobrazit profil
    • E-mail
Re:Má Haskell budoucnost?
« Odpověď #179 kdy: 15. 05. 2016, 20:56:26 »
Já bych je spíš popsal jako "sofistikovaný způsob dosažení cíle bez narušení a priori daných self-imposed principů".
není možné, že jste opět diplomatický?

Nicméně formálně opravdu "čisté" (ve smyslu FP) jsou.
osobně s čistotou IO v haskellu nemám žádný filosofický ani jiný problém, ale najdou se tací, kteří mají, i tady na rootu se o tom vedly dabaty
Jo, je to možné :) Jinak mi je čistota Haskellu úplně ukradená, jen se mi prostě líbí použití dost abstraktního konceptu (monády) na něco praktického, nicméně přiznávám, že v tomto případě mně zajímá hlavně ta formální (matematická) stránka věci, protože funkcionálně píšu jen v jazycích převážně imperativních. Konkrétně u Haskellu mi ta debata navíc přijde dost žabomyší.
aspoň mám důvod či záminku dostudovat trochu teorie, zároveň si říkám, že takové debaty se asi vedly o kvantové fyzice nebo kvazikrystalech :)
Jo, ono je občas užitečné se ponořit do teorie a v klidu si nějaké abstraktnější věci promyslet. Pro volné chvíle doporučuji kryptomonády :)