
18 Nov
2010
18 Nov
'10
3:07 p.m.
I am looking at signatures for Arrow and Composable classes and I cannot understand some of them. Could you please explain me the following: Let's take for example the following: class FunAble h => FunDble h where resultFun :: (h b -> h b') -> (h (a->b) -> h (a->b')) class FunAble h where secondFun :: (h b -> h b') -> (h (a,b) -> h (a,b')) -- for 'second' in the signatures: resultFun :: (h b -> h b') -> (h (a->b) -> h (a->b')) secondFun :: (h b -> h b') -> (h (a,b) -> h (a,b')) if (h b -> h b') is the input of these functions where does 'a' comes from in the output? Thanks,