blob: 67b930ac57c7629fe46ea60783659abad6c2c771 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
{-# LANGUAGE GADTs #-}
{-# LANGUAGE LinearTypes #-}
{-# LANGUAGE UnicodeSyntax #-}
module Linear11 where
data Unrestricted a where Unrestricted :: a -> Unrestricted a
incorrectUnrestricted :: a ⊸ Unrestricted a
incorrectUnrestricted a = Unrestricted a
data NotUnrestricted a where NotUnrestricted :: a ⊸ NotUnrestricted a
incorrectUnrestrictedDup :: NotUnrestricted a ⊸ (a,a)
incorrectUnrestrictedDup (NotUnrestricted a) = (a,a)
|