
On 7 February 2016 at 22:08, Geraldus
Hi, friends! I want to share my own feelings about type signatures. It is always hard for me to read type signatures with class constraints, because first I need to spot that there is =>, then I have to split type signature in my mind to constraint part and actual signature part. I think having constraints before signature when defining things is something that eases source parsing and etc., but wouldn't type signatures become a bit more readable if we put constraints after actual signature when printing it in GHCi (and maybe in Haddock), e.g.:
($) :: (a -> b) -> a -> b forall r :: RuntimeRep a :: * b :: TYPE r
If this is only how ghci types/prints it, then it makes it much more difficult (if not impossible) to just copy/paste the resulting type into your code. This also makes it much more verbose: it might be useful for longer type signatures (especially with large constraints) but not for the majority of them. I also like being able to see the constraints first so that I know what they are before reading the actual type. -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com http://IvanMiljenovic.wordpress.com