On Mon, Feb 04, 2013 at 01:21:31PM -0800, Johan Tibell wrote:
On Sun, Feb 3, 2013 at 4:44 PM, Ben Millwood <hask...@benmachine.co.uk> wrote:
I have two proposals, I suppose:
- make bang patterns in let altogether invalid

I would prefer it to be valid. It's the syntactically most lightweight
option we have to force some thunks before using the resulting values
in a constructor that we have. Example

   let !x = ...
       !y = ...
   in C x y

The alternative would be

   let x = ...
       y = ...
   in x `seq` y `seq` C x y

which obscures the code much more.

I'd write (C $! x) $! y. We could devise a left-associative $! to avoid the use of parentheses here. But my objection was only ever a mild unease in any case, so I'm happy to dismiss it.

Ben

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

Reply via email to