clean up read/show abuse
Avoid ever using read to parse a non-haskell formatted input string. show :: Key is arguably still show abuse, but displaying Keys as filenames is just too useful to give up.
This commit is contained in:
parent
fdf988be6d
commit
b11a63a860
18 changed files with 75 additions and 98 deletions
|
@ -9,13 +9,12 @@ module Types.UUID where
|
|||
|
||||
-- A UUID is either an arbitrary opaque string, or UUID info may be missing.
|
||||
data UUID = NoUUID | UUID String
|
||||
deriving (Eq, Ord)
|
||||
deriving (Eq, Ord, Show)
|
||||
|
||||
instance Show UUID where
|
||||
show (UUID u) = u
|
||||
show NoUUID = ""
|
||||
fromUUID :: UUID -> String
|
||||
fromUUID (UUID u) = u
|
||||
fromUUID NoUUID = ""
|
||||
|
||||
instance Read UUID where
|
||||
readsPrec _ s
|
||||
| null s = [(NoUUID, "")]
|
||||
| otherwise = [(UUID s, "")]
|
||||
toUUID :: String -> UUID
|
||||
toUUID [] = NoUUID
|
||||
toUUID s = UUID s
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue