Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 10. 04. 2009 13:57

bojkot
Příspěvky: 69
Reputace:   
 

haskell typy

Ahoj,
nevim si rady jak otypovat (.) fst snd
(.) fst   to je mi jasné (a -> (b,c)) -> a -> b
Ale (.) fst snd mi dělá problémy

mám složit (a -> (b,c)) -> a -> b           a         (a,b) -> b


jak to uddělat?
díky

Offline

 

#2 13. 04. 2009 16:01

Kondr
Veterán
Místo: Linz, Österreich
Příspěvky: 4246
Škola: FI MU 2013
Pozice: Vývojář, JKU
Reputace:   38 
 

Re: haskell typy

Pokud ti jde o výsledek, spusť hugs a napiš
:t výraz
konkrétně :t (.)fst snd vrátí
(a,(b,c)) -> b

Pokud jde o postup, jaksprávně píšeš (.) fst je funkce, která má parametry typů (a->(b,c)) a a, její návratový typ je b.
Když jako první argument dostane snd typu (d,e)->e, musí platit
a->(b,c)=(d,e)->e
proto
a=(d,e)
(b,c)=e
a=(d,(b,c))
Přitom (.) fst snd je funkce, která má parametr typu a a vrací typ b, proto je hledaný typ
a->b, což je z předchozího rovno (d,(b,c))->b.


BRKOS - matematický korespondenční seminář pro střední školy

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson