Hi John Goerzen > On 2005-06-27, Mads Lindstrøm <[EMAIL PROTECTED]> wrote: > > Hi John > > > >> test :: forall a. (Num a) => a > >> test = 2 * 5 + 3 > > [ snip ] > > > I had newer seen anybody use "forall a." in function signatures before, > > and therefore was curious about its effect. This is probably do to my > > inexperience regarding Haskell. However, I tried to remove it and wrote > > this instead: > > > > If you omit it, the compiler will decide that test is some arbitrary > type (Double, Integer, whatever). While rpnShow, etc. will still work, > they will not show you the same thing, since the compiler will have > already "optimized" the expression down to one set type. They show the same thing on my computer, namely
"2 5 * 3 +" if I do ":type test" I get (with or without the forall a.): rpnShow :: Num a => SymbolicManip a -> String > > Which compiler or interpreter are you using? hugs -98 :version -- Hugs Version November 2003 I have not tried with ghc(i), as it would not load MissingH.Str. Some problem I will have to look into later. > > > I tried to find documentation about the use of the forall keyword in > > respect to functions (I do know about it in with respect to > > existentially quantified types), but with no luck. So, if anybody has > > some good pointers, please let med know about it. > > Note that test in this example is not a function. OK, I assumed it was, as I thought all functions started with lower case and all modules, classes, and data/type constructors started with upper case. It does not take any variables as input, but that is still a function in my book (but I could be wrong there. I am no mathematician). > > -- John > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > note that I am not using: test :: a -- this will actually not compile or not giving any type signatur, but using: test :: (Num a) => a /Mads Lindstrøm _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe