{-# OPTIONS -fglasgow-exts #-}
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)