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 »
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ě.

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 »
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
    • Zobrazit profil
    • E-mail
Re:Nový objev ve funkcionálním programování
« Odpověď #242 kdy: 21. 04. 2018, 23:02:38 »
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 »
Stačilo říct lifruje místo liftuje.
No dyť :)

Ž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
    • Zobrazit profil
    • E-mail
Re:Nový objev ve funkcionálním programování
« Odpověď #244 kdy: 21. 04. 2018, 23:09:06 »
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
    • Zobrazit profil
    • E-mail
Re:Nový objev ve funkcionálním programování
« Odpověď #245 kdy: 21. 04. 2018, 23:10:22 »
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 »
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í ;)

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
    • Zobrazit profil
    • E-mail
Re:Nový objev ve funkcionálním programování
« Odpověď #247 kdy: 21. 04. 2018, 23:20:03 »
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 »
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
    • Zobrazit profil
    • E-mail
Re:Nový objev ve funkcionálním programování
« Odpověď #249 kdy: 21. 04. 2018, 23:26:23 »
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 »
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
    • Zobrazit profil
    • E-mail
Re:Nový objev ve funkcionálním programování
« Odpověď #251 kdy: 21. 04. 2018, 23:33:51 »
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 »
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
    • Zobrazit profil
    • E-mail
Re:Nový objev ve funkcionálním programování
« Odpověď #253 kdy: 21. 04. 2018, 23:40:08 »
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 »
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...