[Haskell-cafe] Re[2]: strict Haskell dialect

Ketil Malde ketil.malde at bccs.uib.no
Mon Feb 6 08:06:35 EST 2006

Bulat Ziganshin <bulatz at HotPOP.com> 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

  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'. 

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

More information about the Haskell-Cafe mailing list