Bulat Ziganshin <[EMAIL PROTECTED]> writes:

> JM> data Foo = Bar !Int !Char

> JM> the bangs arn't being assosiated with the Int and Char types, but rather
> JM> the Bar data constructor.

> foo :: !Int -> !Int

(Is the second ! actually meaningful?)

Personally, I think is much nicer than sprinkling seq's around, and
generally sufficient.  However, there could perhaps be disambiguities?
Last time this came up, I think examples resembling these were brought
up:

  foo :: [!a] -> ![a] -> a
  foo' :: Map !Int String -> Int -> String

Anyway, if a reasonable semantics can be formulated, I think
strictness type annotations would be a great, useful, and
relatively non-intrusive (AFAICT, entirely backwards compatible)
addtion to Haskell'. 

-k
-- 
If I haven't seen further, it is by standing in the footprints of giants

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to