Těžké OOP problémy

Re:Těžké OOP problémy
« Odpověď #240 kdy: 11. 11. 2019, 21:09:09 »
Ne, myslím to, že predikát je většinou brán jako funkce, která vrací True/False.
To je jiste jedna z moznych definic. Muzeme s ni dal pracovat, nejsem nejak zasadne proti. A jeste bysme teda potrebovali definici pojmu "vlastnost", abys mi mohl ukazat, kde jsem se zmylil.

Plus jeste jsi rikal ze mi nekde neco typove nesedi, to bys byl taky moc hodny, kdybys to opravil.


Re:Těžké OOP problémy
« Odpověď #241 kdy: 11. 11. 2019, 21:12:18 »
Bereme-li to tak, tak ok.
Jinak to ani brat nejde.

Re:Těžké OOP problémy
« Odpověď #242 kdy: 11. 11. 2019, 21:42:09 »
Ne, myslím to, že predikát je většinou brán jako funkce, která vrací True/False.
To je jiste jedna z moznych definic. Muzeme s ni dal pracovat, nejsem nejak zasadne proti. A jeste bysme teda potrebovali definici pojmu "vlastnost", abys mi mohl ukazat, kde jsem se zmylil.

Jakože ty něco použiješ špatně, ale já ti to mám definovat?

Typický vztah ale je, že predikát vyjadřuje, zdali něco (ne)má/(ne)splňuje nějakou vlastnost. Nepředpokládám, že bys to nevěděl.

Plus jeste jsi rikal ze mi nekde neco typove nesedi, to bys byl taky moc hodny, kdybys to opravil.

Odkdy je množina funkce?

Re:Těžké OOP problémy
« Odpověď #243 kdy: 11. 11. 2019, 21:51:30 »
Typický vztah ale je, že predikát vyjadřuje, zdali něco (ne)má/(ne)splňuje nějakou vlastnost. Nepředpokládám, že bys to nevěděl.
To nemuzu vedet, dokud nedefinujes, co je to vlastnost.

Odkdy je množina funkce?
Odkdy je možné střílet káňata a mít přitom v Berouně maštal?

aneb:

Vsechno by bylo o mnoho jednodussi, kdybys citoval konkretni moji vetu a napsal, co je v ni spatne, proc a jak by to bylo spravne.

Re:Těžké OOP problémy
« Odpověď #244 kdy: 11. 11. 2019, 21:59:08 »
Typický vztah ale je, že predikát vyjadřuje, zdali něco (ne)má/(ne)splňuje nějakou vlastnost. Nepředpokládám, že bys to nevěděl.
To nemuzu vedet, dokud nedefinujes, co je to vlastnost.

Odkdy je množina funkce?
Odkdy je možné střílet káňata a mít přitom v Berouně maštal?

aneb:

Vsechno by bylo o mnoho jednodussi, kdybys citoval konkretni moji vetu a napsal, co je v ni spatne, proc a jak by to bylo spravne.

Ne, všechno by bylo jednodušší, kdyby sis pamatoval, co píšeš, a přestal trollit.


Re:Těžké OOP problémy
« Odpověď #245 kdy: 11. 11. 2019, 22:05:36 »
Ne, všechno by bylo jednodušší, kdyby sis pamatoval, co píšeš, a přestal trollit.
Cili doopravdy nemas zajem mou chybu opravit. Jenom trolis.

Re:Těžké OOP problémy
« Odpověď #246 kdy: 11. 11. 2019, 22:12:40 »
Ne, všechno by bylo jednodušší, kdyby sis pamatoval, co píšeš, a přestal trollit.
Cili doopravdy nemas zajem mou chybu opravit. Jenom trolis.

Už jsme ji opravovali dva. Dokud nebudeš chápat rozdíl mezi `{a}` a `a`, tak to nemá smysl. Hlavně že si tu s Idrisem honíte trika.

Re:Těžké OOP problémy
« Odpověď #247 kdy: 11. 11. 2019, 22:16:28 »
Nebo co musim odebrat z clojure, aby se stal ciste funkcionalnim?
Side effecty. Mutabilní data, která se dají sdílet, má Clojure myslím taky, ne? (Nevím, celému lispovskému světu se záměrně dost vyhýbám, nesedí mi to)

Mutabilita dělá Lisp Lispem. Nedělá rozdíl mezi programem a daty. Není mnoho jazyků, které se mohou pochlubit tím, že umí samy sebe modifikovat za plného provozu.

Nevim, ktery dialekt lispu pouzivas, ale tohle mi prijde minimalne zavadejici. Aspon v clojure je podle me expanze makra jen transformace jednoho immutable listu na novy immutable list.

Re:Těžké OOP problémy
« Odpověď #248 kdy: 11. 11. 2019, 22:24:35 »
Už jsme ji opravovali dva. Dokud nebudeš chápat rozdíl mezi `{a}` a `a`, tak to nemá smysl. Hlavně že si tu s Idrisem honíte trika.
Nevim, jaky `{a}` a `a` mas namysli.

Ja jsem rekl

"být funkcionálním jazykem" je množina několika různých vlastností

Procez ondrama mi vycetl:
"Byt funkcionalnim jazykem" neni mnozina, ale predikat.

Ty mi tady (pro me) nesrozumitelne povidas o tom, ze mnozina neni funkce a ze {a} neni a. To nejak souvisi s tim, co napsal ondrama? Nebo to je zas nejaka jina chyba?

S vama je to tezky, chlapi. Na me musite pomalu a srozumitelne. Poradne, pomalicku a poporade mi vysvetlit, jak je to spravne a proc, ja jsem jednoduchej kluk z vesnice.

Re:Těžké OOP problémy
« Odpověď #249 kdy: 11. 11. 2019, 22:44:51 »
Plus jeste jsi rikal ze mi nekde neco typove nesedi, to bys byl taky moc hodny, kdybys to opravil.

Odkdy je množina funkce?

Tak pro zajimavost. V clojure je mnozina funkce svych clenu:
Kód: [Vybrat]
(let [myset #{:a :b :c :d}]
  (myset :a))  => :a


(let [myset #{:a :b :c :d}]
  (myset :z)) => nil

Kit

  • *****
  • 704
    • Zobrazit profil
    • E-mail
Re:Těžké OOP problémy
« Odpověď #250 kdy: 11. 11. 2019, 22:54:04 »
Mutabilita dělá Lisp Lispem. Nedělá rozdíl mezi programem a daty. Není mnoho jazyků, které se mohou pochlubit tím, že umí samy sebe modifikovat za plného provozu.

Nevim, ktery dialekt lispu pouzivas, ale tohle mi prijde minimalne zavadejici. Aspon v clojure je podle me expanze makra jen transformace jednoho immutable listu na novy immutable list.

Používám Common Lisp, který nejlépe vyhovuje mým potřebám. Clojure se u mne dlouho neohřál, některé vlastnosti mi v něm chyběly.

Re:Těžké OOP problémy
« Odpověď #251 kdy: 11. 11. 2019, 22:57:39 »
Tak pro zajimavost. [...]
Ja bych to moc nekomplikoval. Jeste by se nedejmatkorpirodo mohl objevit nekdo, kdo by treba mohl ocitovat

Nechť A, B jsou množiny. Funkcí f z A do B rozumíme podmnožinu A × B takovou, že pro každé a ∈ A existuje právě jedno f(a) ∈ B, že (a, f(a)) patří do této podmnožiny.

...a to bysme se uz vubec nikam nedostali!

:)

xyz

  • ***
  • 200
    • Zobrazit profil
Re:Těžké OOP problémy
« Odpověď #252 kdy: 11. 11. 2019, 23:00:25 »
Už jsme ji opravovali dva. Dokud nebudeš chápat rozdíl mezi `{a}` a `a`, tak to nemá smysl. Hlavně že si tu s Idrisem honíte trika.
Nevim, jaky `{a}` a `a` mas namysli.

Ja jsem rekl

"být funkcionálním jazykem" je množina několika různých vlastností

Procez ondrama mi vycetl:
"Byt funkcionalnim jazykem" neni mnozina, ale predikat.

Ty mi tady (pro me) nesrozumitelne povidas o tom, ze mnozina neni funkce a ze {a} neni a. To nejak souvisi s tim, co napsal ondrama? Nebo to je zas nejaka jina chyba?

S vama je to tezky, chlapi. Na me musite pomalu a srozumitelne. Poradne, pomalicku a poporade mi vysvetlit, jak je to spravne a proc, ja jsem jednoduchej kluk z vesnice.

Jsem tu :-) S tim predikatem jsem to napsal spis jako popichnuti, protoze se vyjadrujes radoby akademickym jazykem a ve vysledku ten odstavec neni moc srozumitelny.


Idris

  • *****
  • 2 286
    • Zobrazit profil
    • E-mail
Re:Těžké OOP problémy
« Odpověď #253 kdy: 11. 11. 2019, 23:04:00 »
Tak pro zajimavost. [...]
Ja bych to moc nekomplikoval. Jeste by se nedejmatkorpirodo mohl objevit nekdo, kdo by treba mohl ocitovat

Nechť A, B jsou množiny. Funkcí f z A do B rozumíme podmnožinu A × B takovou, že pro každé a ∈ A existuje právě jedno f(a) ∈ B, že (a, f(a)) patří do této podmnožiny.

...a to bysme se uz vubec nikam nedostali!

:)
Proč tak složitě? Stačí říct, že každá funkce je instance součinového závislostního typu Πx:A.B(x), kde B nezávisí na x. A je to, nepotřebuješ množiny ani kartézský součin ;)

Re:Těžké OOP problémy
« Odpověď #254 kdy: 11. 11. 2019, 23:24:36 »
Jsem tu :-) S tim predikatem jsem to napsal spis jako popichnuti, protoze se vyjadrujes radoby akademickym jazykem a ve vysledku ten odstavec neni moc srozumitelny.
Super! Vsechna cest, ze ses ozval a byl chlapsky uprimnej, klobouk dolu!

Budu taky. Tu vyhradu neberu, prvorade proto, ze se imho snazis aplikovat pojmy z nejakeho formalismu (predikatova logika?) na prirozeny jazyk. Preskakujes ze sveta semantiky ("vlastnost"), ve kterem jsem se pohyboval, do sveta formalismu ("predikat"). To dost dobre samo o sobe nedava smysl, natoz aplikovano na prirozeny jazyk.

---

Jestli to bylo nesrozumitelny, tak se omlouvam. Chtel jsem proste rict to, co jsem napsal pozdeji:
myslím, že jsou to spíš "shades of grey" - čím víc těch "vlastností funkcionálních jazyků" splňuje, tím víc je to funkcionální jazyk...
cili (tak jako vetsina vyrazu prirozeneho jazyka) i "funkcionalni jazyk" je proste fuzzy pojem. Pro nekoho je funkcionalni jenom Haskell a par jazyku, o kterych nikdy nikdo normalni neslysel, pro nekoho je funkcionalni jazyk i Javascript :)

Podle me se ale daji alespon identifikovat nejake vlastnosti, ktere dohromady tvori jakousi pseudoskalu - cim vic z nich jazyk ma, tim vic je funkcionalni. To je cely, zadna veda.

---

Jinak mimo hru: AFAIK (alespon v "normalnich" logikach, u jinych nevim) lze kazdy predikat definovat pomoci mnoziny a naopak kazdou mnozinu pomoci predikatu. Protoze predikat proste rozdeluje univerzum individui na dve disjunktni podmnoziny: pro jednu plati, pro druhou neplati. Takze predikat a mnozina jsou vicemene dva ruzne pohledy na tutez vec, kazdy z jine strany. ...takze ani mnozina predikatu neni zadny velky problem. Muzeme tomu dat semantiku treba takovou, jakou jsem tomu dal ja (fuzzy vlastnost), nebo bysme to mohli treba i v predikatove logice chapat jako (neformalne) "zretezeni pomoci AND" neboli jako prunik tech mnozin, ktere vymezuji ty predikaty. Proc ne? Fantazii se meze nekladou, kazdy si muze co chce nadefinovat jak chce, zejmena semantiku :) (a proto IMHO neni moc moudry temahle pojmama nekoho mlatit po hlave :) )

---

P.S. Ses chlap, respekt!