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

Re:Nový objev ve funkcionálním programování
« Odpověď #240 kdy: 21. 04. 2018, 23:01:07 »
Citace od: Idris kdy 21. 04. 2018, 22:47:26
Dával, když se na to ptají i jinde.
Viděl jsem právě dotazy na rozdíl mezi funkcí a funktorem, ale na tohle ne. Ale moc jsem to nehledal, jenom zběžně.

Citace od: Idris kdy 21. 04. 2018, 22:47:26
Nejjednodušší asi je říct, že každá funkce je relace nad množinou, kdežto objekty kategorie můžou tvořit vlastní třídu. Alternativně že pojem funkce se používá výhradně v kategorii Set, tedy na jiné úrovni, kde je ekvivalentní morfismu. Jestli to stačí jako vysvětlení... (tohle mi plyne z toho odkazu a jiných, co jsem k tomu našel).
Jo, to dává smysl. Pokud mám funkce někde "uvnitř" té kategorie (např. ten Set), tak by nedávalo smysl mít stejný pojem i o úroveň výš.

Laicky bych to shrnul jako že by tam vznikl vlastně stejný problém jako s množinou všech množin. Tak si to asi pro svoje účely vysvětlit můžu, ne? :)


Re:Nový objev ve funkcionálním programování
« Odpověď #241 kdy: 21. 04. 2018, 23:02:28 »
Citace od: Idris kdy 21. 04. 2018, 23:00:41
Ten pojem pochází z topologie (teorie homotopických křivek) a vznikl dávno před nějakou CT (stejně jako třeba komutativní diagramy). Ostatně celá slavná CT vznikla z topologie a všechny její základní koncepty jsou inspirované topologií. Až (o hodně) později se tak nějak zjistilo, že se dá použít i na jiné blbosti.
Aha, ok. Já jsem myslel, že to bylo historicky naopak - že prvně byla CT a pak se zjistilo, že se bezvadně hodí topologům. Tak to je zajímavý, dík.

Idris

  • *****
  • 2 286
Re:Nový objev ve funkcionálním programování
« Odpověď #242 kdy: 21. 04. 2018, 23:02:38 »
Citace od: Mirek Prýmek kdy 21. 04. 2018, 22:50:59
Hm. Mně to přišlo, že tady o slovo lift, minimálně v-ovi, docela šlo...
Stačilo říct lifruje místo liftuje.

Re:Nový objev ve funkcionálním programování
« Odpověď #243 kdy: 21. 04. 2018, 23:04:37 »
Citace od: Idris kdy 21. 04. 2018, 23:02:38
Stačilo říct lifruje místo liftuje.
No dyť :)

Citace od: Mirek Prýmek kdy 19. 04. 2018, 15:17:42
Že já debil jsem nenapsal "vezme tu hodnotu a zmikturuje ji frkodrťákem do monády", to by asi bylo srozumitelnější nebo co.

Idris

  • *****
  • 2 286
Re:Nový objev ve funkcionálním programování
« Odpověď #244 kdy: 21. 04. 2018, 23:09:06 »
Citace od: Mirek Prýmek kdy 21. 04. 2018, 23:01:07
Laicky bych to shrnul jako že by tam vznikl vlastně stejný problém jako s množinou všech množin.
Asi jo, až na to, že teď je problém s třídou všech tříd. Tohle je v CT haram, aby si nikdo nevšiml, že stojí na paradoxu, proto se místo "funkce" říká "family of objects/morphisms".


Idris

  • *****
  • 2 286
Re:Nový objev ve funkcionálním programování
« Odpověď #245 kdy: 21. 04. 2018, 23:10:22 »
Citace od: Mirek Prýmek kdy 21. 04. 2018, 23:02:28
Citace od: Idris kdy 21. 04. 2018, 23:00:41
Ten pojem pochází z topologie (teorie homotopických křivek) a vznikl dávno před nějakou CT (stejně jako třeba komutativní diagramy). Ostatně celá slavná CT vznikla z topologie a všechny její základní koncepty jsou inspirované topologií. Až (o hodně) později se tak nějak zjistilo, že se dá použít i na jiné blbosti.
Já jsem myslel, že to bylo historicky naopak - že prvně byla CT a pak se zjistilo, že se bezvadně hodí topologům
A jak by asi taková kravina (abstract nonsense) vznikla "z ničeho"?

Re:Nový objev ve funkcionálním programování
« Odpověď #246 kdy: 21. 04. 2018, 23:14:55 »
Citace od: Idris kdy 21. 04. 2018, 23:09:06
Asi jo, až na to, že teď je problém s třídou všech tříd. Tohle je v CT haram, aby si nikdo nevšiml, že stojí na paradoxu, proto se místo "funkce" říká "family of objects/morphisms".
Tohle mi vždycky přišlo divný, proč se pro další úroveň vymyslelo slovo "třída" a nevyřešilo se to prostě číslováním jako u Alef, beztak bylo jasný, že se na to zas někde narazí ;)

Citace od: Idris kdy 21. 04. 2018, 23:10:22
A jak by asi taková kravina (abstract nonsense) vznikla "z ničeho"?
Já to mám jako základní předpoklad, že jestli nějaká děsná zhovadilost jde vymyslet, tak buď s ní už nějaký matematik přišel, nebo brzo přijde :)

Idris

  • *****
  • 2 286
Re:Nový objev ve funkcionálním programování
« Odpověď #247 kdy: 21. 04. 2018, 23:20:03 »
Citace od: Mirek Prýmek kdy 21. 04. 2018, 23:14:55
Tohle mi vždycky přišlo divný, proč se pro další úroveň vymyslelo slovo "třída" a nevyřešilo se to prostě číslováním jako u Alef, beztak bylo jasný, že se na to zas někde narazí ;)
Dyť takhle to vyřešil Russell už před 1. světovou válkou.

Re:Nový objev ve funkcionálním programování
« Odpověď #248 kdy: 21. 04. 2018, 23:24:36 »
Citace od: Idris kdy 21. 04. 2018, 23:20:03
Dyť takhle to vyřešil Russell už před 1. světovou válkou.
Nojo, já ty historický fáze vývoje neznám, s odřenýma ušima a značným odporem jsem matikou prolízal i tou "finální" a fakt neměl náladu si ještě číst o tom, jak vypadala mezistádia :)

Ale teď, když už mě zkoušky netrápí, bych si i nějaký ten detektivní románek třeba o té teorii množin možná i přečet, už to "není osobní" ;)

----
No nic, Idrisi, dneska jdu ale fakt spát brzo, dobrou.

Idris

  • *****
  • 2 286
Re:Nový objev ve funkcionálním programování
« Odpověď #249 kdy: 21. 04. 2018, 23:26:23 »
Citace od: Mirek Prýmek kdy 21. 04. 2018, 23:14:55
Já to mám jako základní předpoklad, že jestli nějaká děsná zhovadilost jde vymyslet, tak buď s ní už nějaký matematik přišel, nebo brzo přijde
Teď vážně, tady všechno jen vzdáleně související s FP končí hatem, zkus místo vybržďování kamionů trabantem napsat regulérní článek (po domluvě s redakcí) rozebírající, proč je monáda monoid (psaním to pochopíš a hodně zoufalcům zvedneš sebevědomí, v češtině to myslím ještě vysvětlené není). v jistě rád pomůže.

Re:Nový objev ve funkcionálním programování
« Odpověď #250 kdy: 21. 04. 2018, 23:28:22 »
Citace od: Idris kdy 21. 04. 2018, 23:26:23
Teď vážně, tady všechno jen vzdáleně související s FP končí hatem, zkus místo vybržďování kamionů trabantem napsat regulérní článek (po domluvě s redakcí) rozebírající, proč je monáda monoid (psaním to pochopíš a hodně zoufalcům zvedneš sebevědomí, v češtině to myslím ještě vysvětlené není). v jistě rád pomůže.
Kamion to jistě napíše sám. Ještě by tam trabant nasekal věci, co by nedávaly smysl.

Idris

  • *****
  • 2 286
Re:Nový objev ve funkcionálním programování
« Odpověď #251 kdy: 21. 04. 2018, 23:33:51 »
Citace od: Mirek Prýmek kdy 21. 04. 2018, 23:28:22
Citace od: Idris kdy 21. 04. 2018, 23:26:23
Teď vážně, tady všechno jen vzdáleně související s FP končí hatem, zkus místo vybržďování kamionů trabantem napsat regulérní článek (po domluvě s redakcí) rozebírající, proč je monáda monoid (psaním to pochopíš a hodně zoufalcům zvedneš sebevědomí, v češtině to myslím ještě vysvětlené není). v jistě rád pomůže.
Kamion to jistě napíše sám. Ještě by tam trabant nasekal věci, co by nedávaly smysl.
To nejde, to je ten přírodní zákon, že kdo už monády chápe, není schopen je vysvětlit těm, co je ještě nechápou. v to už zjevně zná. Logicky jediný okamžik, kdy to jde napsat srozumitelně, je právě během psaní, při kterém to člověk pochopí.

Re:Nový objev ve funkcionálním programování
« Odpověď #252 kdy: 21. 04. 2018, 23:35:06 »
Citace od: Idris kdy 21. 04. 2018, 23:33:51
To nejde, to je ten přírodní zákon, že kdo už monády chápe, není schopen je vysvětlit těm, co je ještě nechápou. v to už zjevně zná. Logicky jediný okamžik, kdy to jde napsat srozumitelně, je právě během psaní, při kterém to člověk pochopí.
To je nesmysl a nevím, proč se to pořád říká.

Idris

  • *****
  • 2 286
Re:Nový objev ve funkcionálním programování
« Odpověď #253 kdy: 21. 04. 2018, 23:40:08 »
Citace od: Mirek Prýmek kdy 21. 04. 2018, 23:35:06
Citace od: Idris kdy 21. 04. 2018, 23:33:51
To nejde, to je ten přírodní zákon, že kdo už monády chápe, není schopen je vysvětlit těm, co je ještě nechápou. v to už zjevně zná. Logicky jediný okamžik, kdy to jde napsat srozumitelně, je právě během psaní, při kterém to člověk pochopí.
To je nesmysl a nevím, proč se to pořád říká.
Protože existuje už asi milion vysvětlení a studenti nechápou ani jedno?

Re:Nový objev ve funkcionálním programování
« Odpověď #254 kdy: 21. 04. 2018, 23:52:03 »
Citace od: Idris kdy 21. 04. 2018, 23:40:08
Protože existuje už asi milion vysvětlení a studenti nechápou ani jedno?
Nojo, jenže většina těch vysvětlení dělá tu samou chybu, že dostatečně důrazně nevysvětlí to, co tady pořád říkam: rozdíl mezi obecným konceptem a konkrétní monádou.

Ten obecnej koncept je prostě dost komplikovanej na to, aby ho část programátorů nepochopila. Tak to prostě je a nemá smysl se snažit vymyslet nějaký přirovnání k borůvkám s bláhovou představou, že borůvky pochopí každej.

Konkrétní monádu (třeba IO) ale pochopí každej, protože každej pochopí třeba ten Promise. Jenom se z toho nesmí dělat vědat. Třeba ten http://learnyouahaskell.com/ je dobrej, z toho to pochopí každej.

Od pochopení konkrétní monády k obecnýmu konceptu je pak už snadnější cesta. I když ji každej nedá no, tak co.

On ten Komenský věděl, proč radí jít od konkrétního k abstraktnímu. Ono to totiž funguje.

----
Ale už se fakt omlouvám...