summaryrefslogtreecommitdiff
path: root/testsuite/tests/deSugar/should_run/DsStrictLet.hs
blob: ee515da716917f6e6ed9c2b27bbb6cb84dc5ad96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{-# LANGUAGE Strict #-}
module Main where

import Debug.Trace

main = let False = trace "no binders" False -- evaluated

           a :: a -> a
           a = trace "polymorphic" id -- evaluated

           f :: Eq a => a -> a -> Bool
           f = trace "overloaded" (==) -- not evaluated

           xs :: [Int]
           xs = (trace "recursive" (:) 1 xs) -- evaluated
       in return ()