2009/10/8 Cristiano Paris <fr...@theshire.org>: > On Thu, Oct 8, 2009 at 11:04 AM, minh thu <not...@gmail.com> wrote: >> Hi, >> >> I'd like to know what are the typing rules used in Haskell (98 is ok). >> >> Specifically, I'd like to know what makes >> >> let i = \x -> x in (i True, i 1) >> >> legal, and not >> >> let a = 1 in (a + (1 :: Int), a + (1.0 :: Float)) >> >> Is it correct that polymorphic functions can be used polymorphically >> (in multiple places) while non-functions receive a monomorphic type ? > > First, "1" IS a constant function so it's in no way special and is a > value like any other.
I thought all functions in lambda calculus, technically, take exactly one argument? -- Deniz Dogan _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe