module Linguistics.Types where
import Data.Text (Text)
import GHC.Generics (Generic)
import Data.Serialize (Serialize)
import Data.Binary (Binary)
import Data.Aeson (FromJSON,ToJSON)
import Data.Serialize.Text ()
newtype Concept = Concept { getConcept :: Text }
deriving (Eq,Ord,Generic)
instance Binary Concept
instance Serialize Concept
instance FromJSON Concept
instance ToJSON Concept
newtype Counterpart = Counterpart { getCountpart :: Text }
deriving (Eq,Ord,Generic)
instance Binary Counterpart
instance Serialize Counterpart
instance FromJSON Counterpart
instance ToJSON Counterpart
newtype IPA = IPA { getIPA :: Text }
deriving (Eq,Ord,Generic)
instance Binary IPA
instance Serialize IPA
instance FromJSON IPA
instance ToJSON IPA
newtype Doculect = Doculect { getDoculect :: Text }
deriving (Eq,Ord,Generic)
instance Binary Doculect
instance Serialize Doculect
instance FromJSON Doculect
instance ToJSON Doculect