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 ... 197 198 [199] 200 201 ... 618
2971
Vývoj / Re:Má Haskell budoucnost?
« kdy: 17. 05. 2016, 12:47:51 »
Tak ale sčítat boolean jde celkem dobře, stačí vzít plus z Boolovy algebry.
To by tam ale nesmělo být přetypování na int ani by nesměl být true definovaný jako 1 (což je myslím v C).

2972
Vývoj / Re:Má Haskell budoucnost?
« kdy: 17. 05. 2016, 12:36:13 »
Jako ja chapu problem, ale kdyz tim "trpi" (neni to zamyslena vlastnost?) i takovi mamuti jako C a C++
Však taky C++ není žádný vzorově čistý jazyk :) Skoro bych řekl, že je asi tak druhý třetí nejhorší :)

ze u toho C je to mineno jako vlastnost/tradeoff - radeji vyssi vykon (v pripade JS asi odpadnuti nutnosti vsude pretypovavat), nez bezpecnost/typova cistota a nizsi vykon.
To, o čem je řeč (konzistentní chování operátorů) imho s výkonem nijak nesouvisí. Souhlasím s BoneFlute, že

1. pokud jazyk dělá typovou kontrolu, měl by vyhodit výjimku u operací, které nedávají smysl

2. se statičností/dynamičností to nesouvisí - ta jenom říká, jestli se kontrola dělá při překladu nebo až při běhu

2973
Vývoj / Re:Má Haskell budoucnost?
« kdy: 17. 05. 2016, 12:17:51 »
Tak pokud nekdo scita nebo odcita boolean, tak mu to patri ;D.
No a to je právě ono - operátor dělá pokaždé něco jinýho, podle toho, jaký použiju parametry. Je fakt, že u JS je tou pravou příčinou zběsilý přetypování, ale výsledek je stejnej.

2974
Vývoj / Re:Má Haskell budoucnost?
« kdy: 17. 05. 2016, 12:06:14 »
A co je podle tebe rozšíření skalárního součinu na komplexní čísla? Najednou přestane být komutativní, takže "začne mít jiné vlastnosti", ale přitom je definovaný úplně stejným vzorečkem.
Fakt nevím, musel bych teď horkotěžko lovit v hlavě všechny souvislosti, který už jsem zapomněl. Radši se do toho nebudu pouštět ;)

2975
Vývoj / Re:Má Haskell budoucnost?
« kdy: 17. 05. 2016, 11:36:10 »
Jestli tě rozčiluje vypouštění částí rovnic, tak se v zájmu vlastního zdraví vyhýbej Einsteinově sčítací notaci ;)
Doposud se mi to dařilo a nehodlám na tom nic měnit! :))

2976
Vývoj / Re:Má Haskell budoucnost?
« kdy: 17. 05. 2016, 11:30:18 »
hlavně ale interpretace toho co vektor znamená nemá vliv na sčítání vektorů, asi
Já bych to asi řekl tak, že o "zobecnění" se dá mluvit tam, kde nějakou operaci aplikuju na něco jinýho za zachování všech vlastností té operace - což je taky ten princip za type classes. Když mám třeba operaci sčítání na celých číslech (+_Z) a operaci sčítání na reálných číslech (+_R), tak můžu smyslupně mluvit o tom, že +_R je zobecněním +_Z.

Jakmile ale použiju stejnej symbol v jiným kontextu, kde začne mít jiný vlastnosti, tak mi to nepřijde jako zobecnění, ale jenom prostě jako použití stejnýho symbolu pro jinou operaci.

2977
Vývoj / Re:Má Haskell budoucnost?
« kdy: 17. 05. 2016, 11:18:42 »
Máš pravdu, to jsem si neuvědomil, že jakmile tu kouli aspoň jednou obkroužíš, tak už to nevychází.
Jo vlastně ty myslíš i bez obkroužení. Jsem dneska nějakej mimo, zastřelte mě někdo! :)))

2978
Vývoj / Re:Má Haskell budoucnost?
« kdy: 17. 05. 2016, 11:14:44 »
Pokud stojíš na rovníku a vydáš se nejprve 5000 km na sever a pak 5000 km na východ, tak se dostaneš do jiného místa, než když jdeš nejprve 5000 km na východ a pak teprve 5000 km na sever.
Máš pravdu, to jsem si neuvědomil, že jakmile tu kouli aspoň jednou obkroužíš, tak už to nevychází. (EDIT: blbost!)

No, každopádně je otázka, jestli se dá mluvit o "zobecnění". To bysme taky museli říct třeba že "zobecněné" rovnoběžky se můžou protínat, "zobecněný trojúhelník" může mít nulový obsah a tak...

V principu si asi vždycky můžeš vymyslet nějaký haluzoidní prostor, kde něco přestane platit, takže pak by "obecně" nebyla pravda nic, ne?

2979
Vývoj / Re:Má Haskell budoucnost?
« kdy: 17. 05. 2016, 10:47:13 »
A neni nahodou good practise ho nepouzivat? Napr. na projektu, na kterem ted pracuji, je nastaveny linter tak, aby pri prekladu vyhazoval == jako warning.
Asi jo, ale to je právě proto, že má sémantiku doprasenou až k úplné nepoužitelnosti. Nicméně ani s === nemáš vyhráno:
Kód: [Vybrat]
js> true+true===2
true
js> true-true===0
true
js>true===1     
false
(ze stejného článku)

2980
Vývoj / Re:Má Haskell budoucnost?
« kdy: 17. 05. 2016, 10:41:29 »
Na kouli jo. Na necem jinem od oka uz byt nemusi (predstav si trojuhelnik scitani vektoru na kouli s propasti/dolikem. Kdyz jedna z cest jde skrz dolik a akternativa ne, tak se to, alespon rika moje intuice, nenascita.)
K prostoru s ďolíky jsem se v matice nedostal, tak nevím ;) Intuitivně mi přijde, že v prostoru, který je sem tam "zhuštěný" nebude platit skoro nic :)

2981
Vývoj / Re:Má Haskell budoucnost?
« kdy: 17. 05. 2016, 10:30:33 »
V JS chvili delam, ale na tento konkretni problem jsem snad nenarazil.
Třeba operátor == se chová extrémně nepředvídatelně. Ale těch haluzí je tam víc. Skoro všechno z http://charlieharvey.org.uk/page/javascript_the_weird_parts je případ nekonzistentní sémantiky.

2982
Vývoj / Re:Má Haskell budoucnost?
« kdy: 17. 05. 2016, 10:25:47 »
Například sčítání dvou 2D vektorů na povrchu Země.
To je pořád komutativní, ne?

U plus mě taky nic nenapadá, ale u součinu už ano ;)
U součinu jo, třeba násobení matic žejo. Ale to beztak vzniklo tak, že nějakýho poťapanýho matematika nenapadlo nic lepšího, než pro něj použít stejnej symbol a pak už se s t tím nic nedalo dělat. Matematici vůbec se symboly pracují dost volně a kreativně ;) Jako člověka odchovanýho programováním mě v matice vždycky rozčilovalo, jak se občas někde vypustí nějakej index, protože "všichni ví, že se tím myslí ...." :)


2983
Vývoj / Re:Má Haskell budoucnost?
« kdy: 17. 05. 2016, 01:27:27 »
Podstatné je to slovo "obecně". V Euklidovském prostoru samozřejmě komutativita sčítání platí.
Obecně pokud pro operaci x neplatí komutativita, tak dost dobře nemá smysl takovou operaci označovat symbolem "+". Máš nějaký příklad zaužívaného "+", které není komutativní? Mě fakt nenapadá (pokud teda nepočítám ty programátorské úlety).

2984
Vývoj / Re:Má Haskell budoucnost?
« kdy: 17. 05. 2016, 00:58:02 »
To je to řešení, které jsem hledal, díky. Připadá mi to teda trochu jako hack
Protože to JE hack. Je to způsob, jak se tvářit, že string má vlastnosti, které nemá*. Nikdo rozumný by to imho v praxi takhle neudělal. Podle mě je správný ten druhý způsob - nadefinovat si třídu s potřebnými funkcemi (class Scitej) a vytvořit implementaci pro všechny typy, které chci podporovat. A pak v té "inkrementační" fci pracovat s touhle třídou (incrementTVar :: Scitej a => ...).

* protože být instancí třídy znamená přesně tohle - mít nějaké vlastnosti. A některé vlastnosti Num prostě pro string neplatí, tak nemá smysl ho tam rvát.

Aha, rigidní matematik... Doporučuju nechat veřejně zostudit všechny tvůrce programovacích jazyků, kteří si dovolili pro operaci spojení řetězců použit operátor +, protože se těžce provili proti a+b=b+a.
Nejde o rigidní matematiku, ale o konzistentní sémantiku. Pokud nějaký operátor má jiný VÝZNAM pro typ A a jiný pro typ B, tak to není dobře. Jestli o tom pochybuješ, užij si, kam to vede, v JavaScriptu ;)

Obecně přece a+b==b+a neplatí.
Pokud "+" má označovat "běžné aritmetické sčítání", tak platí. Pokud to má označovat něco jiného, tak v principu může platit cokoli si pro to "něco jiného" vymyslíme. Jsou i tací koumáci, kteří jsou schopní operátor "+" předefinovat tak, aby dělal print a ještě si myslí, jak jsou chytří ;)

I pokud se pojem "sčítání" používá v nějakém zobecněném/přeneseném smyslu, tak se komutativita afaik bere jako základní nutná vlastnost, bez které by ten pojem ztratil svůj smysl. Viz třeba https://cs.wikipedia.org/wiki/S%C4%8D%C3%ADt%C3%A1n%C3%AD#Obecn.C3.A1_algebra a https://en.wikipedia.org/wiki/Addition#Addition_in_abstract_algebra

Jak říkal správně "v", řetězce se prostě nesčítají, řetězce se řetězí. A pokud bych je kór chtěl sčítat, tak jako vektory - tj. sčítat po prvcích ASCII hodoty. Ale to by asi nebylo k ničemu dobré ;)

2985
Vývoj / Re:Má Python budoucnost?
« kdy: 16. 05. 2016, 19:24:09 »
Furt je to vo verzii 0.x.y. Zda sa ze je to experimentalny jazyk pouzivany akurat na universite kde vznikol.
To byly na začátku skoro všechny jazyky :)

Stran: 1 ... 197 198 [199] 200 201 ... 618