Nový objev ve funkcionálním programování

v

Re:Nový objev ve funkcionálním programování
« Odpověď #105 kdy: 19. 04. 2018, 19:51:30 »
Ale zase abychom byli fér, ono těch "liftů" je několik, to pak mate.
pokud pominu tu operaci se zdrojákem co zmiňoval Prýmek, tak vím o return/pure/unit, liftA, liftM a MonadTrans liftu, všechny mi připadjí příbuzné, uniká mi některá příchuť?


v

Re:Nový objev ve funkcionálním programování
« Odpověď #106 kdy: 19. 04. 2018, 19:54:01 »
Paradoxně naopak právě bind “liftuje”, takže ono to tvrzení je přesně naopak.
můžete to rozvést?

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Nový objev ve funkcionálním programování
« Odpověď #107 kdy: 19. 04. 2018, 19:59:16 »
Ale zase abychom byli fér, ono těch "liftů" je několik, to pak mate.
pokud pominu tu operaci se zdrojákem co zmiňoval Prýmek, tak vím o return/pure/unit, liftA, liftM a MonadTrans liftu, všechny mi připadjí příbuzné, uniká mi některá příchuť?
Ano, všechny jsou příbuzné, myslím, že Vám nic zásadního neuniká.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Nový objev ve funkcionálním programování
« Odpověď #108 kdy: 19. 04. 2018, 20:06:35 »
Paradoxně naopak právě bind “liftuje”, takže ono to tvrzení je přesně naopak.
můžete to rozvést?
Jistě. Na té haskellí wiki (heslo Lifting) se (pro unární funkce) uvádí lift=fmap. A protože bind je
Kód: [Vybrat]
(λx)(λf) join(fmap(f)(x)) tak ve světle oné definice se “liftuje” f, a sice z
Kód: [Vybrat]
a -> m b na
Kód: [Vybrat]
m a -> m m b

Re:Nový objev ve funkcionálním programování
« Odpověď #109 kdy: 19. 04. 2018, 20:12:39 »
Nechtěl.
Dobře, takže konstatuju, že to, co jste napsal, není definice.

Pořád nám teda zůstává otázka: v čem měla být ta moje domnělá chyba?

Protipříkladem bylo vyvráceno, že ve funkci předávané bindu musi být jakýsi lift.
Nevím, jaký má smysl to vyvracet, když to nikdo netvrdil, ale budiž. Na tom se bez problémů shodneme, že slovo "lift" v té funkci být nemusí. Takže tím bylo vyvráceno něco, o čem vůbec není diskuse a vraťma se k naší otázce.

Pořád nám teda zůstává: v čem měla být ta moje domnělá chyba?


Re:Nový objev ve funkcionálním programování
« Odpověď #110 kdy: 19. 04. 2018, 20:14:18 »
pokud pominu tu operaci se zdrojákem co zmiňoval Prýmek, tak vím o return/pure/unit, liftA, liftM a MonadTrans liftu, všechny mi připadjí příbuzné, uniká mi některá příchuť?
Ano. https://en.wikipedia.org/wiki/Lift_(mathematics) - instancí si můžete vymyslet nekonečně mnoho. Skoro bych řekl, že nespočetně, ale nebudu se pouštět na tenkej led :)

Re:Nový objev ve funkcionálním programování
« Odpověď #111 kdy: 19. 04. 2018, 20:20:52 »
1) Nezačal diskuzi, reagoval na probíhající diskuzi a (minimálně) nepřesnosti v ní.
Takhle on začal diskusi, takhle do diskuse vstoupil.

2) Jako hodně neslušné vidím třeba
Ano, to je neslušné. Pokud se mnou někdo začne komunikovat neslušně, dost často mu odpovím stejně. Není to moc pěkná vlastnost a asi by bylo fajn se jí zbavit, ale kdo's bez viny, první hoď kamenem...

(a překrucuješ) jejich příspěvky (viz poslední reakce na @Idris). :)
Nejsem si vědom, že bych cokoli překrucoval.

A to nemám rád. :) Tak to prosím vem a zkus jít příkladem.
Já zas nemám rád, když někdo napíše "tak si to dostudujte" - je v tom 1) arogance 2) urážka 3) pokrytectví, které 1 a 2 maskuje vykáním do rádobyslušnosti.

v

Re:Nový objev ve funkcionálním programování
« Odpověď #112 kdy: 19. 04. 2018, 20:42:41 »
1) Nezačal diskuzi, reagoval na probíhající diskuzi a (minimálně) nepřesnosti v ní.
Takhle on začal diskusi, takhle do diskuse vstoupil.

2) Jako hodně neslušné vidím třeba
Ano, to je neslušné. Pokud se mnou někdo začne komunikovat neslušně, dost často mu odpovím stejně. Není to moc pěkná vlastnost a asi by bylo fajn se jí zbavit, ale kdo's bez viny, první hoď kamenem...

(a překrucuješ) jejich příspěvky (viz poslední reakce na @Idris). :)
Nejsem si vědom, že bych cokoli překrucoval.

A to nemám rád. :) Tak to prosím vem a zkus jít příkladem.
Já zas nemám rád, když někdo napíše "tak si to dostudujte" - je v tom 1) arogance 2) urážka 3) pokrytectví, které 1 a 2 maskuje vykáním do rádobyslušnosti.
"Nechce se mi teď po ránu nad tím úplně dumat" - takto jste začal a to mě vytočilo, za osobní narážku jsem se omluvil a k věcné části zdroj dodal
na fóru vykám každému, z toho nic nevyvozujte

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Nový objev ve funkcionálním programování
« Odpověď #113 kdy: 19. 04. 2018, 20:46:06 »
Já zas nemám rád, když někdo napíše "tak si to dostudujte"
V tomto případě měl ale pravdu a napsal to slušně (a podle všeho v dobré víře, bez arogance), tak nebyl důvod sprostě ho urážet. Nemůžu mluvit za v, ale předpokládám, že na slušně položený dotaz by věcně reagoval a látku dovysvětlil. Po spršce urážek by se k tomu pochopitelně už neměl asi nikdo.

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Nový objev ve funkcionálním programování
« Odpověď #114 kdy: 19. 04. 2018, 21:01:57 »
Dává Vám smysl to s tím liftem v bindu? Popravdě Haskell moc neznám a ta terminologie s lifty je mi cizí, vždy jsem používal jen return/fmap/join, nicméně podle té haskellí wiki jsem pochopil dobře, že lift pro unární funkce je fmap, kterážto funkce se v bindu používá.

Re:Nový objev ve funkcionálním programování
« Odpověď #115 kdy: 19. 04. 2018, 21:14:06 »
"Nechce se mi teď po ránu nad tím úplně dumat" - takto jste začal a to mě vytočilo,
Proč by mělo kohokoli vytáčet, že se mi po ránu nechtělo nějak superhluboko dumat nad článkem, který se mi na první pohled jevil chybný (a měl jsem v tom pravdu)? Snad možná autora článku by to mohlo popudit.

za osobní narážku jsem se omluvil
Však jsem taky omluvu přijal. Kdybyste potom začal diskutovat jako dospělý (tj. např. neopakoval znovu věci, které jsem vám už vysvětlil), mohlo být všechno ok.

na fóru vykám každému, z toho nic nevyvozujte
Vykání má smysl jako výraz úcty. Pokud tam úcta není (protože jsou tam urážky), nedává vykání sebemenší smysl a spíš ještě víc uráží.

Re:Nový objev ve funkcionálním programování
« Odpověď #116 kdy: 19. 04. 2018, 21:22:42 »
Dává Vám smysl to s tím liftem v bindu?
Promiňte, ale nemám teď v plánu začínat nějakou jinou diskusi o něčem úplně jiném.

Proveďme si teda rekapitulaci:
1. tvrdil jste, že jsem udělal nějakou chybu
2. tvrdil jste, že je pravda, že bych se měl něco doučit
3. tvrdil jste, že to něco je tak triviální, že se neobtěžujete s polopatickým rozepisováním
4. já jsem vás teda vyzval, ať mi jasně a korektně (tj. ideálně co nejvíc matematicky) popíšete, v čem ta chyba spočívala

Teď se teda předpokládám snažíte v několika příspěvcích mi tu chybu ukázat, ale zatím jsme se zasekli na tom, že ani nejste schopný korektně definovat pojem, se kterým operujete.

Takže momentálně jsme ve stádiu, že jste se snažil definovat pojem "hodnota je liftována" za účelem ukázat mi moji chybu.

Pokračujte v tom tedy a neotevírejte jiná témata.

Je to pro vás triviální, tak snad stačí jedna dvě jasné definice, dvě vysvětlující věty a důkaz sporu s nějakým mým tvrzením a jsme hotovi, ne?

Popravdě Haskell moc neznám a ta terminologie s lifty je mi cizí
Já taky Haskell moc neznám (skoro vůbec), takže v tom bych neviděl problém.

v

Re:Nový objev ve funkcionálním programování
« Odpověď #117 kdy: 19. 04. 2018, 21:25:45 »
Dává Vám smysl to s tím liftem v bindu? Popravdě Haskell moc neznám a ta terminologie s lifty je mi cizí, vždy jsem používal jen return/fmap/join, nicméně podle té haskellí wiki jsem pochopil dobře, že lift pro unární funkce je fmap, kterážto funkce se v bindu používá.
jestli jsem vás dobře pochopil (a neztratil se v tom), tak souhlasím - pomocí bindu můžete definovat fmap, což je, jak jste napsal, lift unární funkce do monády (ale v haskellu je každá monáda funktor, takže fmap je vždy k dispozici)

Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Nový objev ve funkcionálním programování
« Odpověď #118 kdy: 19. 04. 2018, 21:34:33 »
Dává Vám smysl to s tím liftem v bindu?
Promiňte, ale nemám teď v plánu začínat nějakou jinou diskusi o něčem úplně jiném.
To byla reakce na v, slušně se mě na něco zeptal a já mu slušně odpověděl. A jak je vidět výše, neměl problém pochopit, že když je v citaci “v”, je otázka adresována jemu :)

Re:Nový objev ve funkcionálním programování
« Odpověď #119 kdy: 19. 04. 2018, 21:55:25 »
A jak je vidět výše, neměl problém pochopit, že když je v citaci “v”, je otázka adresována jemu :)
No v citaci byl úplně jiný příspěvek, tak jsem tuhle šifru nějak nerozklíčoval, ok, moje chyba.

Takže fajn, udělal jste si pár odboček, zopakoval, že si mám něco dostudovat a v by mi jistě rád látku vysvětlil, tak se prosím vraťme k našemu tématu:

Otázka zůstává: V čem byla ta moje domnělá chyba?

Je to pro vás triviální, tak to snad zvládnete v jednom příspěvku, docela rád bych se najedl a šel si odpočinout do vany. Díky.