
8 Aug
2015
8 Aug
'15
8:49 p.m.
On Sat, Aug 08, 2015 at 10:43:39PM +0200, MigMit wrote:
Prelude> newtype A = A Int deriving Show Prelude> data B = B !Int deriving Show Prelude> let x = case x of A n -> A 1 in x A 1 Prelude> let y = case y of B n -> B 1 in y *** Exception: <<loop>>
Sure, they're not exactly the same thing but if you get the translations right you can use them for the same purposes: Prelude> let y = case y of b -> B 1 in y B 1 I list the translations here http://stackoverflow.com/questions/21327740/strict-single-constructor-single... Tom