Re[2]: Java-like

2006-02-08 Thread Bulat Ziganshin
Hello Ian,

Wednesday, February 08, 2006, 9:28:51 PM, you wrote:
 nonrecursive let in Haskell so that I could write let x = ...x... in ...,
IL I would argue that the language should discourage variable shadowing, so
IL that shadow warnings can be used to find bugs.

i use such shadowing to change variable meaning in a part of code



-- 
Best regards,
 Bulatmailto:[EMAIL PROTECTED]



___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://haskell.org/mailman/listinfo/haskell-prime


Re: Java-like

2006-02-07 Thread Ben Rudiak-Gould

Bulat Ziganshin wrote:

{-# OPTIONS_GHC -fglasgow-exts #-}
main = do return xx = ((\x - print x) :: Show a = a - IO ())
main2 = do return xx = (\(x:: (forall a . (Show a) = a)) - print x)
main3 = do (x :: forall a . Show a = a) - return xx
   print x

in this module, only main compiles ok


The other two need exists rather than forall, which isn't supported by 
GHC. As written, they say that x can produce a value of any type that's an 
instance of Show, but the value you're binding to x has type String, which 
can only produce a value via Show String.


-- Ben

___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://haskell.org/mailman/listinfo/haskell-prime