reduce some boilerplate using ghc extensions

This commit is contained in:
Joey Hess 2012-09-02 02:07:15 -04:00
parent 837cd79e4f
commit 93f29997a9

View file

@ -5,7 +5,9 @@
- Licensed under the GNU GPL version 3 or higher.
-}
{-# LANGUAGE TypeFamilies, QuasiQuotes, MultiParamTypeClasses, TemplateHaskell, OverloadedStrings, RankNTypes #-}
{-# LANGUAGE FlexibleInstances, UndecidableInstances #-}
{-# LANGUAGE TypeFamilies, QuasiQuotes, MultiParamTypeClasses #-}
{-# LANGUAGE TemplateHaskell, OverloadedStrings, RankNTypes #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Assistant.WebApp.Types where
@ -77,19 +79,7 @@ data SshData = SshData
}
deriving (Read, Show, Eq)
instance PathPiece SshData where
toPathPiece = pack . show
fromPathPiece = readish . unpack
instance PathPiece NotificationId where
toPathPiece = pack . show
fromPathPiece = readish . unpack
instance PathPiece AlertId where
toPathPiece = pack . show
fromPathPiece = readish . unpack
instance PathPiece Transfer where
{- Allow any serializable data type to be used as a PathPiece -}
instance (Show a, Read a) => PathPiece a where
toPathPiece = pack . show
fromPathPiece = readish . unpack