-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Internal Phonetic Alphabet (IPA) -- -- Types and tools for working with the International Phonetic Alphabet -- (IPA) @package ipa @version 0.2 module Language.IPA.Types -- | Textual representation of a speech segment or grouping of segments, -- with zero or more articulatory features; encoded in IPA transcription. -- Note this has a Semigroup instance, so various IPAs can -- conveniently be concatenated with <> newtype IPA IPA :: Text -> IPA -- | The Text value should be normalized to NFC [unIPA] :: IPA -> Text -- | normalizes Text value to NFC before wrapping it -- in IPA. This is to ensure the comparability of IPA -- values mkIPA :: Text -> IPA -- | X-SAMPA is an ASCII encoding of the IPA (ca. 1993). Note that fewer -- transcriptions are possible using X-SAMPA than the IPA, so certain -- valid IPA Segmentss have no direct equivalence using -- XSampa. As with IPA, XSampa is an instance of -- Semigroup newtype XSampa XSampa :: Text -> XSampa -- | A single segment, or combination of a segment and articulatory feature data Segment -- | Pulmonic and non-pulmonic consonants Consonant :: Consonant -> Segment Vowel :: Height -> Backness -> Roundedness -> Segment -- | A null/zero phone Zero :: Segment -- | Various other articulatory features WithSegmentalFeature :: SegmentalFeature -> Segment -> Segment -- | Pulmonic and non-pulmonic consonants data Consonant Pulmonic :: Phonation -> Place -> Manner -> Consonant Ejective :: Place -> Manner -> Consonant Implosive :: Phonation -> Place -> Consonant Click :: Place -> Consonant DoublyArticulated :: Phonation -> Place -> Place -> Manner -> Consonant pattern PulmonicConsonant :: Phonation -> Place -> Manner -> Segment pattern EjectiveConsonant :: Place -> Manner -> Segment pattern ClickConsonant :: Place -> Segment pattern ImplosiveConsonant :: Phonation -> Place -> Segment -- | Consonantal manner of articulation data Manner Nasal :: Manner Plosive :: Manner Fricative :: Sibilance -> Manner Affricate :: Sibilance -> Manner Approximant :: Manner Flap :: Manner Trill :: Manner LateralAffricate :: Manner LateralFricative :: Manner LateralApproximant :: Manner LateralFlap :: Manner -- | Consonantal place of articulation data Place Bilabial :: Place LabioDental :: Place LinguoLabial :: Place Dental :: Place Alveolar :: Place PostAlveolar :: Place Retroflex :: Place Palatal :: Place Velar :: Place Uvular :: Place Pharyngeal :: Place Glottal :: Place -- | Phonation (voicing) data Phonation Voiced :: Phonation Voiceless :: Phonation -- | Sibilance for fricative consonants data Sibilance Sibilant :: Sibilance NonSibilant :: Sibilance -- | Vowel height data Height Close :: Height NearClose :: Height CloseMid :: Height Mid :: Height OpenMid :: Height NearOpen :: Height Open :: Height -- | Vowel backness data Backness Front :: Backness NearFront :: Backness Central :: Backness NearBack :: Backness Back :: Backness -- | Vowel roundedness data Roundedness Rounded :: Roundedness Unrounded :: Roundedness -- | Multiple segments, or combination of multiple segments with -- suprasegmental feature data Syllable t -- | A grouping of segments without extra suprasegmental information Syllable :: t Segment -> Syllable t -- | Articulatory features that affect/encompass the entire syllable WithSuprasegmentalFeature :: SuprasegmentalFeature -> Syllable t -> Syllable t data SuprasegmentalFeature -- | Level lexical tones in Chao letters LevelLexicalTone :: LevelTone -> SuprasegmentalFeature -- | Level lexical tones, diacritic. The tone is a combining character LevelLexicalToneDiacritic :: LevelTone -> SuprasegmentalFeature -- | Lexical tone contours in Chao letters LexicalToneContour :: ToneContour -> SuprasegmentalFeature -- | Lexical tone contours, as diacritics. Each contour is a combining -- character LexicalToneContourDiacritic :: ToneContour -> SuprasegmentalFeature -- | Syllable stress Stress :: Stress -> SuprasegmentalFeature -- | Explicit syllable break Break :: SuprasegmentalFeature -- | Absence of a break Linking :: SuprasegmentalFeature -- | Lexical tone represented as a contour data ToneContour Rising :: ToneContour Falling :: ToneContour HighRising :: ToneContour LowRising :: ToneContour HighFalling :: ToneContour LowFalling :: ToneContour RisingFalling :: ToneContour FallingRising :: ToneContour GlobalRise :: ToneContour GlobalFall :: ToneContour -- | Lexical tone with Chao-style tone letters data LevelTone ExtraHighTone :: LevelTone HighTone :: LevelTone MidTone :: LevelTone LowTone :: LevelTone ExtraLowTone :: LevelTone DownStep :: LevelTone UpStep :: LevelTone data Stress Primary :: Stress Secondary :: Stress -- | Vowel length; also serves as a notation for consonant gemination in -- the IPA data Length OverLong :: Length HalfLong :: Length Long :: Length -- | The default/unmarked length; using this constructor doesn't affect the -- default IPA representation of the segment Short :: Length ExtraShort :: Length -- | Various articulatory features with a diacritic represenation in the -- IPA. These can be combined with Segments using the -- WithSegmentalFeature constructor of that type to produce a -- Segment annotated with a given articulatory feature, e.g.: -- --
--   >>> toIPA $ WithSegmentalFeature (Length Long) (Vowel Close Front Unrounded)
--   Just (IPA "i\720") -- iː
--   
data SegmentalFeature Voicing :: Phonation -> SegmentalFeature Length :: Length -> SegmentalFeature SecondaryArticulation :: Segment -> SegmentalFeature SuperScriptNumeric :: Int -> SegmentalFeature Aspirated :: SegmentalFeature MoreRounded :: SegmentalFeature LessRounded :: SegmentalFeature Advanced :: SegmentalFeature Retracted :: SegmentalFeature Centralized :: SegmentalFeature MidCentralized :: SegmentalFeature Compressed :: SegmentalFeature Syllabic :: SegmentalFeature NonSyllabic :: SegmentalFeature Rhotacized :: SegmentalFeature BreathyVoice :: SegmentalFeature CreakyVoice :: SegmentalFeature LinguoLabialized :: SegmentalFeature Labialized :: SegmentalFeature Palatalized :: SegmentalFeature Velarized :: SegmentalFeature Pharyngealized :: SegmentalFeature Raised :: SegmentalFeature Lowered :: SegmentalFeature AdvancedTongueRoot :: SegmentalFeature RetractedTongueRoot :: SegmentalFeature Dentalized :: SegmentalFeature Apical :: SegmentalFeature Laminal :: SegmentalFeature Nasalized :: SegmentalFeature NasalRelease :: SegmentalFeature LateralRelease :: SegmentalFeature NoAudibleRelease :: SegmentalFeature data IPAException InvalidIPA :: Text -> IPAException InvalidXSampa :: Text -> IPAException instance GHC.Generics.Generic Language.IPA.Types.IPAException instance GHC.Classes.Eq Language.IPA.Types.IPAException instance GHC.Show.Show Language.IPA.Types.IPAException instance GHC.Generics.Generic (Language.IPA.Types.Syllable t) instance GHC.Generics.Generic Language.IPA.Types.SuprasegmentalFeature instance GHC.Classes.Eq Language.IPA.Types.SuprasegmentalFeature instance GHC.Show.Show Language.IPA.Types.SuprasegmentalFeature instance GHC.Classes.Ord Language.IPA.Types.Stress instance GHC.Generics.Generic Language.IPA.Types.Stress instance GHC.Classes.Eq Language.IPA.Types.Stress instance GHC.Show.Show Language.IPA.Types.Stress instance GHC.Generics.Generic Language.IPA.Types.Segment instance GHC.Classes.Eq Language.IPA.Types.Segment instance GHC.Show.Show Language.IPA.Types.Segment instance GHC.Generics.Generic Language.IPA.Types.SegmentalFeature instance GHC.Classes.Eq Language.IPA.Types.SegmentalFeature instance GHC.Show.Show Language.IPA.Types.SegmentalFeature instance GHC.Classes.Ord Language.IPA.Types.Length instance GHC.Generics.Generic Language.IPA.Types.Length instance GHC.Classes.Eq Language.IPA.Types.Length instance GHC.Show.Show Language.IPA.Types.Length instance GHC.Classes.Ord Language.IPA.Types.ToneContour instance GHC.Generics.Generic Language.IPA.Types.ToneContour instance GHC.Classes.Eq Language.IPA.Types.ToneContour instance GHC.Show.Show Language.IPA.Types.ToneContour instance GHC.Classes.Ord Language.IPA.Types.LevelTone instance GHC.Generics.Generic Language.IPA.Types.LevelTone instance GHC.Classes.Eq Language.IPA.Types.LevelTone instance GHC.Show.Show Language.IPA.Types.LevelTone instance GHC.Generics.Generic Language.IPA.Types.Roundedness instance GHC.Classes.Eq Language.IPA.Types.Roundedness instance GHC.Show.Show Language.IPA.Types.Roundedness instance GHC.Classes.Ord Language.IPA.Types.Backness instance GHC.Generics.Generic Language.IPA.Types.Backness instance GHC.Classes.Eq Language.IPA.Types.Backness instance GHC.Show.Show Language.IPA.Types.Backness instance GHC.Generics.Generic Language.IPA.Types.Height instance GHC.Classes.Eq Language.IPA.Types.Height instance GHC.Show.Show Language.IPA.Types.Height instance GHC.Generics.Generic Language.IPA.Types.Consonant instance GHC.Classes.Eq Language.IPA.Types.Consonant instance GHC.Show.Show Language.IPA.Types.Consonant instance GHC.Generics.Generic Language.IPA.Types.Manner instance GHC.Classes.Eq Language.IPA.Types.Manner instance GHC.Show.Show Language.IPA.Types.Manner instance GHC.Generics.Generic Language.IPA.Types.Sibilance instance GHC.Classes.Eq Language.IPA.Types.Sibilance instance GHC.Show.Show Language.IPA.Types.Sibilance instance GHC.Generics.Generic Language.IPA.Types.Phonation instance GHC.Classes.Eq Language.IPA.Types.Phonation instance GHC.Show.Show Language.IPA.Types.Phonation instance GHC.Classes.Ord Language.IPA.Types.Place instance GHC.Generics.Generic Language.IPA.Types.Place instance GHC.Classes.Eq Language.IPA.Types.Place instance GHC.Show.Show Language.IPA.Types.Place instance GHC.Base.Semigroup Language.IPA.Types.XSampa instance GHC.Generics.Generic Language.IPA.Types.XSampa instance GHC.Classes.Eq Language.IPA.Types.XSampa instance GHC.Show.Show Language.IPA.Types.XSampa instance GHC.Base.Semigroup Language.IPA.Types.IPA instance GHC.Generics.Generic Language.IPA.Types.IPA instance GHC.Classes.Eq Language.IPA.Types.IPA instance GHC.Show.Show Language.IPA.Types.IPA instance GHC.Show.Show (t Language.IPA.Types.Segment) => GHC.Show.Show (Language.IPA.Types.Syllable t) instance GHC.Classes.Eq (t Language.IPA.Types.Segment) => GHC.Classes.Eq (Language.IPA.Types.Syllable t) instance GHC.Exception.Type.Exception Language.IPA.Types.IPAException -- | Working with IPA transcriptions module Language.IPA data IPAException InvalidIPA :: Text -> IPAException InvalidXSampa :: Text -> IPAException data SuprasegmentalFeature -- | Level lexical tones in Chao letters LevelLexicalTone :: LevelTone -> SuprasegmentalFeature -- | Level lexical tones, diacritic. The tone is a combining character LevelLexicalToneDiacritic :: LevelTone -> SuprasegmentalFeature -- | Lexical tone contours in Chao letters LexicalToneContour :: ToneContour -> SuprasegmentalFeature -- | Lexical tone contours, as diacritics. Each contour is a combining -- character LexicalToneContourDiacritic :: ToneContour -> SuprasegmentalFeature -- | Syllable stress Stress :: Stress -> SuprasegmentalFeature -- | Explicit syllable break Break :: SuprasegmentalFeature -- | Absence of a break Linking :: SuprasegmentalFeature data Stress Primary :: Stress Secondary :: Stress -- | Various articulatory features with a diacritic represenation in the -- IPA. These can be combined with Segments using the -- WithSegmentalFeature constructor of that type to produce a -- Segment annotated with a given articulatory feature, e.g.: -- --
--   >>> toIPA $ WithSegmentalFeature (Length Long) (Vowel Close Front Unrounded)
--   Just (IPA "i\720") -- iː
--   
data SegmentalFeature Voicing :: Phonation -> SegmentalFeature Length :: Length -> SegmentalFeature SecondaryArticulation :: Segment -> SegmentalFeature SuperScriptNumeric :: Int -> SegmentalFeature Aspirated :: SegmentalFeature MoreRounded :: SegmentalFeature LessRounded :: SegmentalFeature Advanced :: SegmentalFeature Retracted :: SegmentalFeature Centralized :: SegmentalFeature MidCentralized :: SegmentalFeature Compressed :: SegmentalFeature Syllabic :: SegmentalFeature NonSyllabic :: SegmentalFeature Rhotacized :: SegmentalFeature BreathyVoice :: SegmentalFeature CreakyVoice :: SegmentalFeature LinguoLabialized :: SegmentalFeature Labialized :: SegmentalFeature Palatalized :: SegmentalFeature Velarized :: SegmentalFeature Pharyngealized :: SegmentalFeature Raised :: SegmentalFeature Lowered :: SegmentalFeature AdvancedTongueRoot :: SegmentalFeature RetractedTongueRoot :: SegmentalFeature Dentalized :: SegmentalFeature Apical :: SegmentalFeature Laminal :: SegmentalFeature Nasalized :: SegmentalFeature NasalRelease :: SegmentalFeature LateralRelease :: SegmentalFeature NoAudibleRelease :: SegmentalFeature -- | Vowel length; also serves as a notation for consonant gemination in -- the IPA data Length OverLong :: Length HalfLong :: Length Long :: Length -- | The default/unmarked length; using this constructor doesn't affect the -- default IPA representation of the segment Short :: Length ExtraShort :: Length -- | Lexical tone represented as a contour data ToneContour Rising :: ToneContour Falling :: ToneContour HighRising :: ToneContour LowRising :: ToneContour HighFalling :: ToneContour LowFalling :: ToneContour RisingFalling :: ToneContour FallingRising :: ToneContour GlobalRise :: ToneContour GlobalFall :: ToneContour -- | Lexical tone with Chao-style tone letters data LevelTone ExtraHighTone :: LevelTone HighTone :: LevelTone MidTone :: LevelTone LowTone :: LevelTone ExtraLowTone :: LevelTone DownStep :: LevelTone UpStep :: LevelTone -- | Vowel roundedness data Roundedness Rounded :: Roundedness Unrounded :: Roundedness -- | Vowel backness data Backness Front :: Backness NearFront :: Backness Central :: Backness NearBack :: Backness Back :: Backness -- | Vowel height data Height Close :: Height NearClose :: Height CloseMid :: Height Mid :: Height OpenMid :: Height NearOpen :: Height Open :: Height -- | Sibilance for fricative consonants data Sibilance Sibilant :: Sibilance NonSibilant :: Sibilance -- | Phonation (voicing) data Phonation Voiced :: Phonation Voiceless :: Phonation -- | Consonantal place of articulation data Place Bilabial :: Place LabioDental :: Place LinguoLabial :: Place Dental :: Place Alveolar :: Place PostAlveolar :: Place Retroflex :: Place Palatal :: Place Velar :: Place Uvular :: Place Pharyngeal :: Place Glottal :: Place -- | Consonantal manner of articulation data Manner Nasal :: Manner Plosive :: Manner Fricative :: Sibilance -> Manner Affricate :: Sibilance -> Manner Approximant :: Manner Flap :: Manner Trill :: Manner LateralAffricate :: Manner LateralFricative :: Manner LateralApproximant :: Manner LateralFlap :: Manner -- | Pulmonic and non-pulmonic consonants data Consonant Pulmonic :: Phonation -> Place -> Manner -> Consonant Ejective :: Place -> Manner -> Consonant Implosive :: Phonation -> Place -> Consonant Click :: Place -> Consonant DoublyArticulated :: Phonation -> Place -> Place -> Manner -> Consonant -- | Multiple segments, or combination of multiple segments with -- suprasegmental feature data Syllable t -- | A grouping of segments without extra suprasegmental information Syllable :: t Segment -> Syllable t -- | Articulatory features that affect/encompass the entire syllable WithSuprasegmentalFeature :: SuprasegmentalFeature -> Syllable t -> Syllable t -- | A single segment, or combination of a segment and articulatory feature data Segment -- | Pulmonic and non-pulmonic consonants Consonant :: Consonant -> Segment Vowel :: Height -> Backness -> Roundedness -> Segment -- | A null/zero phone Zero :: Segment -- | Various other articulatory features WithSegmentalFeature :: SegmentalFeature -> Segment -> Segment -- | X-SAMPA is an ASCII encoding of the IPA (ca. 1993). Note that fewer -- transcriptions are possible using X-SAMPA than the IPA, so certain -- valid IPA Segmentss have no direct equivalence using -- XSampa. As with IPA, XSampa is an instance of -- Semigroup newtype XSampa XSampa :: Text -> XSampa -- | Textual representation of a speech segment or grouping of segments, -- with zero or more articulatory features; encoded in IPA transcription. -- Note this has a Semigroup instance, so various IPAs can -- conveniently be concatenated with <> newtype IPA IPA :: Text -> IPA -- | The Text value should be normalized to NFC [unIPA] :: IPA -> Text pattern ImplosiveConsonant :: Phonation -> Place -> Segment pattern ClickConsonant :: Place -> Segment pattern EjectiveConsonant :: Place -> Manner -> Segment pattern PulmonicConsonant :: Phonation -> Place -> Manner -> Segment -- | normalizes Text value to NFC before wrapping it -- in IPA. This is to ensure the comparability of IPA -- values mkIPA :: Text -> IPA -- | Entities representable through IPA transcription class ReprIPA a -- | Produces an IPA transcription given a valid Segment; a -- result of Nothing indicates either an unattested-yet-possible -- segment, or one considered impossible toIPA :: ReprIPA a => a -> Maybe IPA -- | Partial function for creating an IPA. Useful if you are certain -- that the sound in question is representable toIPA' :: ReprIPA a => a -> IPA -- | Similar to toIPA; produces an XSampa transcription given -- a valid Segment. toXSampa :: ReprIPA a => a -> Maybe XSampa -- | Partial function for creating an XSampa. NB: Certain segments -- that have a defined IPA representation have no XSampa -- equivalent toXSampa' :: ReprIPA a => a -> XSampa instance Data.Traversable.Traversable t => Language.IPA.ReprIPA (Language.IPA.Types.Syllable t) instance Language.IPA.ReprIPA Language.IPA.Types.Segment