-- | Assorted types used in linguistics. 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 () -- * Connectivity with @LingPy@. -- -- -- | Concept -- -- TODO ??? newtype Concept = Concept { getConcept :: Text } deriving (Eq,Ord,Generic) instance Binary Concept instance Serialize Concept instance FromJSON Concept instance ToJSON Concept -- | -- -- TODO ??? newtype Counterpart = Counterpart { getCountpart :: Text } deriving (Eq,Ord,Generic) instance Binary Counterpart instance Serialize Counterpart instance FromJSON Counterpart instance ToJSON Counterpart -- | A word in phonetic @IPA@ notation. newtype IPA = IPA { getIPA :: Text } deriving (Eq,Ord,Generic) instance Binary IPA instance Serialize IPA instance FromJSON IPA instance ToJSON IPA -- | -- -- TODO ??? newtype Doculect = Doculect { getDoculect :: Text } deriving (Eq,Ord,Generic) instance Binary Doculect instance Serialize Doculect instance FromJSON Doculect instance ToJSON Doculect