Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Mirek Prýmek

Stran: 1 ... 114 115 [116] 117 118 ... 618
1726
Vývoj / Re:Nový objev ve funkcionálním programování
« kdy: 23. 04. 2018, 15:22:17 »
Jakou?
Právě že ani nic světobornýho a i tak jsem narazil. Asi to nemá smysl vysvětlovat, princip toho programu je celkem jednoduchej, ale bylo by na dlouho vysvětlit, v čem přesně byl problém.

1727
Vývoj / Re:Nový objev ve funkcionálním programování
« kdy: 23. 04. 2018, 14:12:09 »
I když s vámi více méně souhlasím, velmi se bráním slovnímu spojení "to musí pochopit každý".
Souhlas, to byla příliš velká zkratka. Myslel jsem každý člověk, který je schopný trochu rozumně programovat.

1728
Vývoj / Re:Nový objev ve funkcionálním programování
« kdy: 23. 04. 2018, 14:04:23 »
Nejlepší je OOP tak, jak ho má Go. Tam se nikdo nehádá.
Já jsem si celkově myslel, že Go je super, dokud jsem v něm teď nedělal jednu věc, která vyžaduje nějaké abstrakce a myslel jsem že rozkoušu klávesnici a vyhodím kompl z okna. Go mě dost zklamalo. Když člověk dělá nějakou jasnou konkrétní věc, tak je super - přímočaré jasné, s nízkou kognitivní zátěží. Ale jakmile potřebuje psát trochu abstraktněji, tak se bez generik a algebraických typů cítí jak bezrukej :(

Kdyby tam minimálně tyhle dvě věci přidali (generika by bohatě stačila prvního řádu), byl by to imho super jazyk.

Ale zase má závislostní typy (typové konstruktory nad hodnotami)
Co tím máš namysli? Teď si tohle vůbec nemůžu vybavit.

Taky ten striktně nominální type system je trochu kotroverzní volba :)

1729
Vývoj / Re:Nový objev ve funkcionálním programování
« kdy: 23. 04. 2018, 08:03:48 »
Aniž bych chtěl nějak snižovat význam monád, tak programovací technika

- kterou nikdo neumí vysvětlit
- k jejímu pochopení je potřeba diplom z matfyzu
- když někdo myslí, že jí pochopil, tak mu ostatní začnou říkat, že jí nechápe

je poněkud nepraktická. Tím neříkám, že je nepoužitelná, když ale v praxi ke svému kódu posadíte nového člověka, tak by měl být schopný daný kód pochopit. Takhle to působí, že když kód napíšete pomocí monád, tak můžete spolupracovníky vybírat ze všech dvaceti lidí, kteří je v republice chápou - pokud se zrovna nehádají s Prýmkem, jestli je vlastně chápou.
Nepochopitelné ani nevysvětlitelné to není a není na to potřeba diplom z matfyzu. Stačí si přečíst dobré vysvětlení, např. http://learnyouahaskell.com/chapters - kapitoly 9 a 12. Z toho to musí každý pochopit dostatečně na to, aby to uměl dobře použít.

Ono třeba s objektovým programováním to není o moc lepší - jsou o tom tlusté knihy a stejně se tady vedou nekonečný debaty, jestli čtverec má dědit z obdélníka nebo opačně. Akorát OOP se každej učil na škole, takže aspoň nějaké základy má a ty pojmy mu nejsou cizí. Kdyby se každej stejně intenzivně učil Haskell, tak by zas všichni znali základy monád a přišlo by jim nepochopitelný, co to má být ten "diamond problem"...

Taky něco jinýho je umět věc pochopit dostatečně na to, abych ji uměl prakticky použít, a něco jinýho je zasadit ji do nějakého širšího, obecnějšího kontextu. O tom prvním se tady u FP žádné sáhodlouhé debaty nevedou, u OOP jo.

1730
Vývoj / Re:Nový objev ve funkcionálním programování
« kdy: 22. 04. 2018, 21:12:00 »
To je asi nějaké nedorozumění, v diagramu by se lifty taky definovaly zvlášť. To “nějak takhle” je schéma definice (“schéma” se používá zejména v teorii množin vždy, když něco nejde nadefinovat jedním výrazem).
já bych to už nerozpitvával, všichni víme, co lift dělá, a není o čem nad ním diskutovat.

1731
Vývoj / Re:Nový objev ve funkcionálním programování
« kdy: 22. 04. 2018, 11:15:13 »
na ten zbytek reagovat nebudu
Škoda.

1732
Vývoj / Re:Nový objev ve funkcionálním programování
« kdy: 22. 04. 2018, 10:36:05 »
K tomu předtím se nevyjadřuju, abych vám nechal to poslední slovo. (Vysvětluju proto, aby mi zas někdo nevykládal, že vytrhávám z kontextu a ignoruju podstatné :) )

  to by mohlo vyvolat dojem, že pro programování v haskellu potřebujete studovat nějakou složitou matiku, což IMHO není pravda (byť to asi může prospět)
Ale ta otázka nebyla (z mé strany) o programování v Haskellu. Vy sám jste si vybral Haskell jako vysvětlovací nástroj, což nebyla šikovná strategie pro tak obecnou otázku :)

------------------

Díky, že jste začal komunikovat, fakt si toho vážím. Navrhoval bych, abysme udělali jednu věc pro dobro lidstva: vzájemně si slíbili, že v jakýchkoli diskusích se vynasnažíme k sobě nepřistupovat s apriorním přednastavením, že ten druhý je nedouk nebo onanista, a budeme si snažit vzájemně vyjít vstříc a udělat všechno proto, abysme pochopili, co se ten druhý snaží říct.

Může být?

Byl by to imho hezký závěr :)

1733
Vývoj / Re:Nový objev ve funkcionálním programování
« kdy: 22. 04. 2018, 10:11:38 »
to jenom abyste měl možnost pochopit můj pohled
Já ho chápu. Ale úplně se míjí se smyslem toho příkladu.

1734
Vývoj / Re:Nový objev ve funkcionálním programování
« kdy: 22. 04. 2018, 10:10:14 »
Zpátky k tomuhle:

vždyť o tam máte - liftFuncToMy1stArrow
Jo, sorry, já jsem tam přehlídl jednu věc, chtěl jsem to hned vzít zpátky, ale předběhl jste mě.

jeden z problémů té vaší definice totiž vidím v tom, že v ní pracujete s "lift f" a "lift a", což předpokládám v Haskellu nejde nadefinovat (?) a i tady si pomáháte tím const. Takže to vlastně není "lift a", ale "lift (const a)", což je takový trik, který sice můžu chápat a rozumět mu, ale definici tak, jak jste ji měl, to imho porušuje.

Asi čistější by bylo si v té definici udělat nějaké liftFunc a liftValue, ale to byste pak zase musel nějak vyargumentovat, že tyhle dvě funkce "dělají to samé", což by bylo kostrbatý a zase neformální.

Prostě, čekal jsem spíš, že přijdete s tím diagramem a objekty si nadefinujete nějak hooodně obecně. V Haskellu to v takovéhle obecnosti nejspíš definovat nejde, ani když si pomůžete nějakým neformální "metahaskellem" typu "ta funkce vypadá nějak takhle".

Ale to je jedno, já bych to už nerozpitvával, všichni víme, co lift dělá, a není o čem nad ním diskutovat. Klidně vám k tomu nechám poslední slovo a už se nebudu vyjadřovat, pokud tam nebude na mě mířená otázka :)

----

Spíš jestli teda jste nade mnou definitivně nezlomil hůl, zkuste se prosím bez předpojetí a přednasranosti zamyslet nad https://forum.root.cz/index.php?topic=18107.msg261961#msg261961 - třeba mi nakonec porozumíte.

1735
Vývoj / Re:Nový objev ve funkcionálním programování
« kdy: 22. 04. 2018, 09:53:30 »
zpětně vidím problém v tom, že jste identifikoval typovou třídu Monad s monádou jako takovou (IO)
Je možný, že jsem se někde vyjádřil tak, že to tak na vás může působit. Já to tam nikde nevidím.

, dá se psát `bindIO` místo >>=, ale to neznamená, že nepoužívate monadické rozhraní k IO ((>>=)==bindIO) (a jak jsem napsal, není to přenositelné)
Nevím, co znamená "nepoužívate monadické rozhraní k IO". Smyslem toho příkladu bylo ukázat, že se vstup/výstup se dá dělat "napřímo", bez použití slova "Monad" - tj. že IO monáda není žádná tajemná černá magie, tzv. "způsob, jak v Haskellu dělat vstupně/výstupní věci", ale jenom takový hezký způsob, jak to zabalit, aby ten vstup/výstup byl user-friendly.

Taky ten příklad měl přiblížit způsob, jak to funguje, člověku, který umí pracovat s věcma jako jsou třeba ty Promisy - v tomhle zápisu je ten Promise vyloženě vidět.

1736
Vývoj / Re:Nový objev ve funkcionálním programování
« kdy: 22. 04. 2018, 09:42:12 »
vždyť o tam máte - liftFuncToMy1stArrow
Jo, sorry, já jsem tam přehlídl jednu věc, chtěl jsem to hned vzít zpátky, ale předběhl jste mě.


1737
Vývoj / Re:Nový objev ve funkcionálním programování
« kdy: 22. 04. 2018, 09:34:39 »
myslím, že na to nikdo neodpověděl
Ne - a dík moc, že to děláte. Nebaví mě, že konkrétní věci se tady ignorují a rozpitvávají blbosti...

(lift f) (lift a)
Jaký typ má lift? Neměl jste ho totiž ani v té definici... (konkrétně, bez "metahaskellu")

1738
Vývoj / Re:Nový objev ve funkcionálním programování
« kdy: 22. 04. 2018, 09:00:14 »
Každopádně vidím že se ti nechce
No nechce se mi především proto, že jsem ti explicitně napsal
Zkus si tu diskusi přečíct ještě jednou, aniž bys do ní vkládal předpoklad "liftovat = použít lift z Haskellu".
...a ty mě manipuluješ do toho, abych si vybral ze dvou možností, kde jednu považuješ za odsouzeníhodnou a druhá ten předpoklad obsahuje?

Když neposloucháš, co říkám, tak proč by ti měl chtít odpovídat?

1739
Vývoj / Re:Nový objev ve funkcionálním programování
« kdy: 22. 04. 2018, 00:54:39 »
No dyť, stačí se slušně zeptat a všichni se můžou přetrhnout. A teď už fakt spát.
Anebo se na nic neptat a dozvíš se, že seš přitroublej :)

https://forum.root.cz/index.php?topic=13225.msg166597#msg166597

1740
Vývoj / Re:Nový objev ve funkcionálním programování
« kdy: 22. 04. 2018, 00:24:54 »
Naopak komunita okolo FP je nebývale vstřícná a ochotná.
Jo, hlavně ta místní :)

Stran: 1 ... 114 115 [116] 117 118 ... 618