Programovanie a modne trendy?

JSH

Re:Programovanie a modne trendy?
« Odpověď #225 kdy: 03. 09. 2017, 21:19:57 »
Čistě symbolicky: množina všech n-árních funkcí z A do B je B**A**n, tedy všech nulárních B**A**0, jenže A**0 je {0}, takže dostanu B**1, což je B, takže ty množiny se podle ZFC rovnají. Pohled z algebry je v Matematických strukturách od Pultra. P.S. Co vezmu jako A je jedno, protože všechny term. objekty jsou isomorfní.
Sice je to dobře, ale bojím se, že ho to ještě víc zmate. Chybí tam ten intuitivní pohled, že se dá na funkci koukat jako na tabulku výsledků a až pak to napsat symbolicky.


v

Re:Programovanie a modne trendy?
« Odpověď #226 kdy: 03. 09. 2017, 21:28:30 »
Pokud máš nulární funkci, která je referenčně transparentní, tak se to chová přesně tak, jak jsme zvyklí u konstant.
vedlejší účinky vůbec neuvažuju, za pět, nebo kolik, let s haskellem jsem k ničemu takovému nedošel, trochu rozlišuju syntaktické prvky haskellu a matematické definice a javu bych sem raději ani netahal
V tom případě nevím, co by si rád slyšel.
myslím si, že funkce by měla vypadat třeba jako f :: () -> Int (z definice), nemyslím si, že třeba g :: Int je funkce, ptám se po nějakém teoretickém vysvětlení, proč je můj dojem chybný
Čistě symbolicky: množina všech n-árních funkcí z A do B je B**A**n, tedy všech nulárních B**A**0, jenže A**0 je {0}, takže dostanu B**1, což je B, takže ty množiny se podle ZFC rovnají. Pohled z algebry je v Matematických strukturách od Pultra. P.S. Co vezmu jako A je jedno, protože všechny term. objekty jsou isomorfní.
tak jsem nakoukl do toho Pultra a asi jsem zjistil kde pramení tento zmatek, funkce /= operace

Aoidhghean

Re:Programovanie a modne trendy?
« Odpověď #227 kdy: 03. 09. 2017, 21:32:51 »
Pokud máš nulární funkci, která je referenčně transparentní, tak se to chová přesně tak, jak jsme zvyklí u konstant.
vedlejší účinky vůbec neuvažuju, za pět, nebo kolik, let s haskellem jsem k ničemu takovému nedošel, trochu rozlišuju syntaktické prvky haskellu a matematické definice a javu bych sem raději ani netahal
V tom případě nevím, co by si rád slyšel.
myslím si, že funkce by měla vypadat třeba jako f :: () -> Int (z definice), nemyslím si, že třeba g :: Int je funkce, ptám se po nějakém teoretickém vysvětlení, proč je můj dojem chybný
Čistě symbolicky: množina všech n-árních funkcí z A do B je B**A**n, tedy všech nulárních B**A**0, jenže A**0 je {0}, takže dostanu B**1, což je B, takže ty množiny se podle ZFC rovnají. Pohled z algebry je v Matematických strukturách od Pultra. P.S. Co vezmu jako A je jedno, protože všechny term. objekty jsou isomorfní.
tak jsem nakoukl do toho Pultra a asi jsem zjistil kde pramení tento zmatek, funkce /= operace
Operace je endofunkce.

v

Re:Programovanie a modne trendy?
« Odpověď #228 kdy: 03. 09. 2017, 21:38:23 »

Aoidhghean

Re:Programovanie a modne trendy?
« Odpověď #229 kdy: 03. 09. 2017, 22:50:46 »
Operace je endofunkce.
https://en.wiktionary.org/wiki/endofunction ? to zní jako A -> A
Na doméně nesejde, pro jakékoliv A je A**0 term. objekt. Je dobré si to nakreslit - šipky z {0} do B.


Wichser

Re:Programovanie a modne trendy?
« Odpověď #230 kdy: 15. 09. 2018, 19:46:19 »
Hodně dělá rozdíl mezi funkcemi z FP a funkcemi se sideefectem.

Žádné funkce by neměly mít sideeffect. Je to jen zlozvyk z jazyka C.
  :o