{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-orphans #-} module Hcompta.LCC.IO where import Control.DeepSeq (NFData(..)) import Data.Data (Data(..)) import Data.Eq (Eq(..)) import Data.Ord (Ord(..)) import Data.String (IsString(..)) import Data.Typeable (Typeable) import Text.Show (Show(..)) import qualified System.FilePath.Posix as FP import System.IO (IO) -- import qualified System.Directory as IO -- * Type 'PathFile' newtype PathFile = PathFile FP.FilePath deriving (Data, Eq, NFData, Ord, Show, Typeable) instance IsString PathFile where fromString = PathFile -- ** Class 'FromFile' class FromFile a where fromFile :: PathFile -> IO a -- * Type 'CanonFile' newtype CanonFile = CanonFile PathFile deriving (Data, Eq, NFData, Ord, Show, Typeable)