Folks, Warren Burton makes what appears to me to be a Jolly Sensible suggestion about the syntax of type signatures. Haskell already has many dual ways of doing things (let/where, case/pattern-matching). Warren proposes an alternative syntax for type signatures. Simon ------- Forwarded Message Date: Fri, 01 Oct 93 11:30:10 -0800 From: Warren Burton <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] cc: [EMAIL PROTECTED] Subject: Re: ADTs in Haskell Simon, I agree with your comments about ADTs in Haskell. However, your comments brought to mind another question. Do you know why Haskell allows > f a b c = exp which almost means the same thing as > f = \a -> \b -> \c -> exp (ignoring the monomorphism restriction), but does not allow > f Int Char (Stk Thing) :: [Thing] for > f :: Int -> Char -> Stk Thing -> [Thing] When teaching functional programming I always find the > f :: Int -> Char -> Stk Thing -> [Thing] form confusing for students, particularly when the function is defined using the > f a c b = exp form. [..omitted...] ------- End of Forwarded Message