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