Fórum Root.cz
		Hlavní témata => Vývoj => Téma založeno: desprit  26. 06. 2017, 18:19:08
		
			
			- 
				Může mi někdo vysvětlit následující citát od Knutha, pls? "At an abstract enough level of implementation, generic OOP and functional approaches to programming are one and the same thing. [...] Let's take any language, say, C++. There's a natural transformation from, for instance, Optional<T> to Set<T> and so we can, by and large, work with quotients of types and ignore their actual shape and structure, which provides a great pathway to automatic optimisation and semantic verification [...] We also obtain an almost optimal type system, devising which would be close to impossible otherwise. [...] so what we arrive at in the end is a bijection between a subset of C++ and a purely functional language."
Nechápu, co je "natural transformation" a jak by měla vypadat. Celé mi to vůbec přijde dost divně napsané. Jde to říct i jinak nebo to je fakt tak složité?
			 
			
			- 
				Tym sa nezaoberaj, v zivote to potrebovat nebudes, v praxi detto.
			
 
			
			- 
				
Tym sa nezaoberaj, v zivote to potrebovat nebudes, v praxi detto.
 Ale u zkoušky jo...
			 
			
			- 
				
Tym sa nezaoberaj, v zivote to potrebovat nebudes, v praxi detto.
 Ale u zkoušky jo...
U zkoušky řekni, že tomu rozumí jen experti tady na rootu.
			 
			
			- 
				
Může mi někdo vysvětlit následující citát od Knutha, pls? "At an abstract enough level of implementation, generic OOP and functional approaches to programming are one and the same thing. [...] Let's take any language, say, C++. There's a natural transformation from, for instance, Optional<T> to Set<T> and so we can, by and large, work with quotients of types and ignore their actual shape and structure, which provides a great pathway to automatic optimisation and semantic verification [...] We also obtain an almost optimal type system, devising which would be close to impossible otherwise. [...] so what we arrive at in the end is a bijection between a subset of C++ and a purely functional language."
Nechápu, co je "natural transformation" a jak by měla vypadat. Celé mi to vůbec přijde dost divně napsané. Jde to říct i jinak nebo to je fakt tak složité?
int i = 10
int j = 10
int k = i + j
a přirozená transformace
suma(int(10), int(10))
po transformaci nemůžete rozhodnout, zda jde o volání funkcí, či volání konstruktorů objektů.
 
			 
			
			- 
				Nevim, neumim to vysvetlit. Doporucuji se zeptat primo vyucujiciho (Knutha?), jestli je to na zkousku. :-)
Ale je fakt, ze mezi OOP a FP existuje cela rada dualit a analogii. Co mi neni jasne, kterou z nich ma konkretne ten citat na mysli.
			 
			
			- 
				
Nechápu, co je "natural transformation" a jak by měla vypadat. Celé mi to vůbec přijde dost divně napsané. Jde to říct i jinak nebo to je fakt tak složité?
že se dá z optional udělat set aniž by se něco důležitého ztratilo, naopak už to tak dobře nejde
			 
			
			- 
				
Nevim, neumim to vysvetlit. Doporucuji se zeptat primo vyucujiciho (Knutha?), jestli je to na zkousku. :-)
Ale je fakt, ze mezi OOP a FP existuje cela rada dualit a analogii. Co mi neni jasne, kterou z nich ma konkretne ten citat na mysli.
 Jde o převod z maybe na singleton. Relevantní článek je General theory of natural equivalences, tam to je vše jak na talíři.
			 
			
			- 
				
Jde o převod z maybe na singleton.
to asi ne, ne? ve wikipedii píšou, že singleton je množina o jednom prvku
			 
			
			- 
				
to asi ne, ne? ve wikipedii píšou, že singleton je množina o jednom prvku
Singleton (Just x) nebo prázdné pole (Nothing).
			 
			
			- 
				
to asi ne, ne? ve wikipedii píšou, že singleton je množina o jednom prvku
Singleton (Just x) nebo prázdné pole (Nothing).
no právě
			 
			
			- 
				Kit Vam odpovi :D
			
 
			
			- 
				
Jde o převod z maybe na singleton.
to asi ne, ne? ve wikipedii píšou, že singleton je množina o jednom prvku
 Přesně, právě proto.
			 
			
			- 
				
Jde o převod z maybe na singleton.
to asi ne, ne? ve wikipedii píšou, že singleton je množina o jednom prvku
 Přesně, právě proto.
viz Prýmek, jak z Nothing udělám množinu o jednom prvku?
			 
			
			- 
				
Jde o převod z maybe na singleton.
to asi ne, ne? ve wikipedii píšou, že singleton je množina o jednom prvku
 Přesně, právě proto.
viz Prýmek, jak z Nothing udělám množinu o jednom prvku?
No a není Nothingness sama o sobě singletonem? Minimálně na ní lze uplatnit operaci "and" s Being, ne snad?
			 
			
			- 
				
Jde o převod z maybe na singleton.
to asi ne, ne? ve wikipedii píšou, že singleton je množina o jednom prvku
 Přesně, právě proto.
viz Prýmek, jak z Nothing udělám množinu o jednom prvku?
 K tomu slouží prázdná množina.
			 
			
			- 
				
Jde o převod z maybe na singleton.
to asi ne, ne? ve wikipedii píšou, že singleton je množina o jednom prvku
 Přesně, právě proto.
viz Prýmek, jak z Nothing udělám množinu o jednom prvku?
No a není Nothingness sama o sobě singletonem? 
 Tak to nefunguje, to se prostě mapuje na prázdnou množinu, jinak by to nebyla přirozená transformace, takže by nefungovaly monády a celé by to tedy bylo dost k ničemu.
			 
			
			- 
				
Jde to říct i jinak nebo to je fakt tak složité?
  Nejde, je to složité.