g :: (a -> b) -> [a] -> [b] g f l = map f (tail l) h :: (a -> b) -> [a] -> [b] h = (. tail) . map
h :: forall a_afx b_afy. (a_afx -> b_afy) -> [a_afx] -> [b_afy] h = \ (@ a_afP) (@ b_afQ) (x_ayH :: a_afP -> b_afQ) (eta_syZ :: [a_afP]) -> map @ a_afP @ b_afQ x_ayH (tail @ a_afP eta_syZ) g :: forall a_afA b_afB. (a_afA -> b_afB) -> [a_afA] -> [b_afB] g = \ (@ a_agK) (@ b_agL) (f_afD :: a_agK -> b_agL) (l_afF :: [a_agK]) -> map @ a_agK @ b_agL f_afD (tail @ a_agK l_afF)
no subject
Date: 2009-10-18 10:50 am (UTC)На моём маленьком примере работает:
Исходник:
Core:
Как можно видеть, Core-представление обоих функций идентично.