blob: 3b08a7ebf006b13829a9c5f46b1e34303879c220 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
{-# LANGUAGE UnboxedTuples #-}
module Main where
import Debug.Trace
{-# NOINLINE f #-}
f :: a -> b -> (# a,b #)
f x y = x `seq` y `seq` (# x,y #)
g :: Int -> Int -> Int
g v w = case f v w of
(# a,b #) -> a+b
main = print (g (trace "one" 1) (trace "two" 2))
-- The args should be evaluated in the right order!
|