{-# LANGUAGE DeriveDataTypeable #-} module Data.Classify.DataTypes where import Data.Typeable data Element = Series { name :: Name, version :: Version, title :: Title, lastname :: LastName, score :: Int } deriving (Eq,Read,Show,Typeable) type Name = String type LastName = Name type Title = String data Version = Version { season :: Int, episode :: Int } | DateVersion { year :: Int , month :: Int , day :: Int } deriving (Ord,Eq,Read,Show) data MarkupStyle = Literate Char | Symbol Char | Numeric Char Int deriving (Eq) data MarkupLayout = Replace Char String | Function Char (Int -> String)