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 - Idris

Stran: 1 ... 121 122 [123] 124 125 ... 153
1831
/dev/null / Re:Těžké OOP problémy
« kdy: 11. 11. 2019, 16:00:36 »
Pak je ten seznam, na který odkazuješ, k prdu, když obsahuje mezi sebou se implikující položky. Co je teda kromě ref. průhlednosti nedílnou součástí FP? Vážně, fakt mě nic nenapadá.
Spíš naopak: pokud by byla RP podmínkou, pak nebude "funkcionální jazyk" skoro nic. Zůstane ti jenom Haskell a pár těch akademických pokusných jazyků...
To není problém. Však se taky většinou říká, že jazyk "má funkcionální konstrukce", těch čistých je minimum. Přesně podle definice.

1832
/dev/null / Re:Těžké OOP problémy
« kdy: 11. 11. 2019, 15:59:11 »
Co je to vlastnost? Já mám za to, že predikát. Souhlas?

Ne, to teda není.
Proč si to myslíš?
Protože nemyslí, jen píše bláboly. Formální sémantika mu nic neříká a nikdy nebude.

1833
/dev/null / Re:Těžké OOP problémy
« kdy: 11. 11. 2019, 15:57:49 »
To bych řekl, že je podmínka nutná, ne postačující. Bez ní si funkcionální jazyk moc neumím představit.
FP bez typů (přesněji: statického typování) není problém. Byl by víceméně k h...u, ale technicky no problem.

1834
/dev/null / Re:Těžké OOP problémy
« kdy: 11. 11. 2019, 15:55:22 »
Hmm, IMHO jde jen o referenční průhlednost (což zahrnuje “pure” funkce a datové struktury).
To máš určitě pravdu, referenční transparentnost implikuje ledasco :)
Pak je ten seznam, na který odkazuješ, k prdu, když obsahuje mezi sebou se implikující položky. Co je teda kromě ref. průhlednosti nedílnou součástí FP? Vážně, fakt mě nic nenapadá.

1835
/dev/null / Re:Těžké OOP problémy
« kdy: 11. 11. 2019, 14:16:07 »
Ze zdejších konverzací však mám pocit, jako kdyby Haskell byl jediným správným funkcionálním jazykem.
To je asi spíš proto, že Haskell je dobrý jako příklad, protože "být funkcionálním jazykem" je množina několika různých vlastností, různé jazyky splňují různé její podmnožiny a Haskell splňuje asi všechno - tj. je hodně čistě funkcionální. Například Erlang nebo Elixir (a AFAIK i Lispy) mají side effecty, což moc funkcionální není.

Zároveň je Haskell ještě relativně dobře známý, protože se často učí na školách. Příklady pro Agda nebo Idris by byly srozumitelné výrazně menšímu počtu lidí.

"Byt funkcionalnim jazykem" neni mnozina, ale predikat. Kdyz uz se vyjadrujes jak hotentot, tak se pokus byt aspon presny. V idealnim pripade se nevyjadruj vubec.
Přesnost je jistě v exaktních vědách žádoucí, k čemu je ale někomu přesně se vyjadřující hotentot?

1836
/dev/null / Re:Těžké OOP problémy
« kdy: 11. 11. 2019, 12:42:11 »
Ta stěžejní vlastnost je jen jedna. Nebo co je ta údajná množina?
IMHO žádná obecně přijímaná definice funkcionálního jazyka není. Ta množina featur je něco ve stylu https://en.wikipedia.org/wiki/Functional_programming#Concepts
Hmm, IMHO jde jen o referenční průhlednost (což zahrnuje “pure” funkce a datové struktury). Typy a funkce vyšších řádů s tím nijak přímo nesouvisí, to má i Fortran.

1837
/dev/null / Re:Těžké OOP problémy
« kdy: 11. 11. 2019, 11:51:10 »
Ze zdejších konverzací však mám pocit, jako kdyby Haskell byl jediným správným funkcionálním jazykem.
To je asi spíš proto, že Haskell je dobrý jako příklad, protože "být funkcionálním jazykem" je množina několika různých vlastností
Ta stěžejní vlastnost je jen jedna. Nebo co je ta údajná množina?

1838
/dev/null / Re:Těžké OOP problémy
« kdy: 10. 11. 2019, 17:25:49 »
async funkce obyčejná funkce vracející promise
Jistě, protože platí, že Promise[T] je podmnožina U.

Zjevně nechápeš pointu, nevadí, stane se.

rozumím asynchronnímu programování příliš dobře na to abych tom viděl pointu.
Dunning-Kruger na kvadrát  ;D

1839
/dev/null / Re:Těžké OOP problémy
« kdy: 10. 11. 2019, 15:31:26 »
a můžeme se vrátit třeba k hejtování OOP.
Challenge accepted!


A teď hejt FP ;) I když tam asi i jen hejtování je “beyond the intellectual capabilities of the average programmer,” jak tvrdí klasik.

1840
/dev/null / Re:Těžké OOP problémy
« kdy: 10. 11. 2019, 11:18:12 »
Když už máš tu trpělivost na diskusi s trotlama, vysvětli mu, kde tam je bind ;)
Zas ale nemám trpělivost na to, poslouchat, že bind[1] je něco úplně jinýho a co že to melu za bláboly :)))

[1] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind
Tohle je slušná prasárna. Aspoň se to nejmenuje flatMap.

1841
/dev/null / Re:Těžké OOP problémy
« kdy: 10. 11. 2019, 11:15:33 »
async funkce obyčejná funkce vracející promise
Jistě, protože platí, že Promise[T] je podmnožina U.

Zjevně nechápeš pointu, nevadí, stane se.
Trapné je, když se to někomu děje furt dokola  ;D

1842
/dev/null / Re:Těžké OOP problémy
« kdy: 10. 11. 2019, 10:54:00 »
neplatil ani po úpravách, vytvoření promisu bez čekání na návratovou hodnotu je naprosto validní kód.
Ještě jednou a naposledy:

Pokud chci ze sync funkce dostat návratovou hodnotu, nesmím ji awaitovat. Pokud chci z async funkce dostat návratovou hodnotu, musím ji awaitovat.

Že spuštění async funkce bez await je možné a vrací Promise, je naprosto irelevantní. Že vrácený Promise můžu probublat přes libovolný počet proměnných nebo funkcí, je irelevantní.

Jak říkal Idris výš: sync funkce je typu
Kód: [Vybrat]
T -> U
async funkce je typu
Kód: [Vybrat]
T -> Promise[U]
Jsou to dva různé světy, jeden červený, druhý modrý. Jestli to nechápeš, nebo nechceš chápat, je celkem jedno. Tak jako tak diskuse s tebou nemá smysl.
Když už máš tu trpělivost na diskusi s trotlama, vysvětli mu, kde tam je bind ;)

1843
/dev/null / Re:Těžké OOP problémy
« kdy: 09. 11. 2019, 21:09:40 »
Zajímavé, jak se viralita vyskytuje v různých obměnách, kromě těch dvou zmíněných třeba u součtových závislostních typů, na to musí existovat nějaká matematická abstrakce.
Jasne, https://en.wikipedia.org/wiki/Mathematical_modelling_of_infectious_disease :))
To jsem zrovna nemyslel.

1844
/dev/null / Re:Těžké OOP problémy
« kdy: 09. 11. 2019, 21:04:14 »
Tvé oblíbené slovo je teď “virální”?
Opsal jsem ho od tebe, je to dobre vystizny a srozumitelny.

Když už jsme u té vitality, všimnul sis, že async/await je jen type lifting? Konkrétně T->Future<T>? A že to zobrazení je funktoriální? Nepřipomíná ti to něco?
jako haskellista poznáš, že vlastně jenom zbytečně zdlouhavě popisuje monády

Nevíš o nějakém jazyce/formalismu, kde by toto bylo ošetřené?
To fakt nevim :)
Zajímavé, jak se viralita vyskytuje v různých obměnách, kromě těch dvou zmíněných třeba u součtových závislostních typů, na to musí existovat nějaká matematická abstrakce.

1845
/dev/null / Re:Těžké OOP problémy
« kdy: 09. 11. 2019, 20:40:41 »
Já jsem si vždycky myslel, že Go je spíš snaha o evoluci C - něco jako Java, ale od lidí, kteří nesnášejí OOP, ale sdílejí názor, že jazyk má být "hloupý" (svazovat programátora v maximální snesitelné míře).
Mimochodem, jeste k tomuhle, kdyz uz jsme beztak v offtopicu jako prase :) Ta motivace neni uplne "svazovat programatora", ale spis zvolit jenom ty featury, ktere jsou navzajem ortogonalni. A zaroven jenom ty featury, na kterych se vsichni tri autori jednomyslne shodnou. Oboji mi prijde jako prevelice rozumny kriterium. A jestli Rust zacne nejak vyrazne bobtnat, tak jim da vyvoj za pravdu...

Tady to mas primo od Pikea: https://youtu.be/rFejpH_tAHM?t=588
Jinak vznikne prasopes jako Swift.

Stran: 1 ... 121 122 [123] 124 125 ... 153