-- | 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@.
--
-- <http://lingulist.de/lingpy/tutorial/formats.html>
-- | 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