{-# LANGUAGE DeriveGeneric, DeriveAnyClass, StandaloneDeriving #-} module Eventloop.Module.File.Types where import System.IO import GHC.Generics (Generic) import Control.DeepSeq type OpenFile = (FilePath, Handle, IOMode) data FileIn = FileOpened FilePath Bool | FileClosed FilePath Bool | RetrievedContents FilePath [[Char]] | RetrievedLine FilePath [Char] | RetrievedChar FilePath Char | IsEOF FilePath Bool | WroteTo FilePath Bool deriving (Eq, Show) data FileOut = OpenFile FilePath IOMode | CloseFile FilePath | RetrieveContents FilePath | RetrieveLine FilePath | RetrieveChar FilePath | IfEOF FilePath | WriteTo FilePath [Char] deriving (Eq, Show, Generic, NFData) deriving instance Generic IOMode deriving instance NFData IOMode