Revision 139c0683 htools/Ganeti/Types.hs
b/htools/Ganeti/Types.hs | ||
---|---|---|
83 | 83 |
|
84 | 84 |
-- | Type that holds a non-negative value. |
85 | 85 |
newtype NonNegative a = NonNegative { fromNonNegative :: a } |
86 |
deriving (Show, Read, Eq)
|
|
86 |
deriving (Show, Eq) |
|
87 | 87 |
|
88 | 88 |
-- | Smart constructor for 'NonNegative'. |
89 | 89 |
mkNonNegative :: (Monad m, Num a, Ord a, Show a) => a -> m (NonNegative a) |
... | ... | |
97 | 97 |
|
98 | 98 |
-- | Type that holds a positive value. |
99 | 99 |
newtype Positive a = Positive { fromPositive :: a } |
100 |
deriving (Show, Read, Eq)
|
|
100 |
deriving (Show, Eq) |
|
101 | 101 |
|
102 | 102 |
-- | Smart constructor for 'Positive'. |
103 | 103 |
mkPositive :: (Monad m, Num a, Ord a, Show a) => a -> m (Positive a) |
... | ... | |
111 | 111 |
|
112 | 112 |
-- | Type that holds a non-null list. |
113 | 113 |
newtype NonEmpty a = NonEmpty { fromNonEmpty :: [a] } |
114 |
deriving (Show, Read, Eq)
|
|
114 |
deriving (Show, Eq) |
|
115 | 115 |
|
116 | 116 |
-- | Smart constructor for 'NonEmpty'. |
117 | 117 |
mkNonEmpty :: (Monad m) => [a] -> m (NonEmpty a) |
Also available in: Unified diff