Morphological Profile Types #
Framework-agnostic types for cross-linguistic morphological typology,
grounding functions from WALS data, and the MorphProfile structure.
Types correspond to WALS chapters 20--29 plus supplementary chapters (21B, 62A, 79A/B, 80A). Grounding functions map WALS auto-generated data to these coarser local classifications.
WALS Ch 20: How inflectional formatives are attached to stems.
Note: this captures fusion only — the degree of phonological
boundedness between formative and stem. The traditional labels
"agglutinating" and "fusional" conflate fusion with flexivity
(see Flexivity below). Both concatenative + nonflexive (Turkish)
and concatenative + flexive (Russian) map to .concatenative here.
@cite{bickel-nichols-2001}
Instances For
Equations
- Core.Morphology.instDecidableEqFusion x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Core.Morphology.instReprFusion = { reprPrec := Core.Morphology.instReprFusion.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Whether inflectional formatives show item-based allomorphic variation.
@cite{bickel-nichols-2001} argue this is the crucial parameter that the traditional typology conflates with fusion:
- nonflexive ("agglutinating"): formatives have invariant or rule-governed shape (Turkish -ler ~ -lar is vowel-harmony, not item-based allomorphy)
- flexive ("fusional"): formatives vary unpredictably by
inflectional class (Latin -ī
-ae-ūs for genitive singular depending on declension class)
Orthogonal to Fusion: a language can be concatenative + nonflexive
(Turkish), concatenative + flexive (Russian), nonlinear + flexive
(Arabic), or isolating (flexivity N/A).
Instances For
Equations
- Core.Morphology.instDecidableEqFlexivity x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Core.Morphology.instReprFlexivity = { reprPrec := Core.Morphology.instReprFlexivity.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
WALS Ch 21: How many grammatical categories a single case formative expresses. Specifically about case formatives and whether they bundle number, TAM, etc.
Distinct from ExponenceScope (B&N's broader cumulative/separative
parameter which applies to all morphological categories, not just case).
@cite{bickel-nichols-2001}
Instances For
Equations
- Core.Morphology.instDecidableEqExponence x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Core.Morphology.instReprExponence = { reprPrec := Core.Morphology.instReprExponence.repr }
Whether a single formative expresses multiple grammatical categories simultaneously (cumulative) or each formative expresses exactly one category (separative).
@cite{bickel-nichols-2001}: this is a general morphological parameter
applying across all category pairs, not limited to case+number (cf.
WALS Ch 21 Exponence). Latin -ō (1sg.pres.act.ind) is cumulative;
Turkish verb suffixes are separative (each suffix = one category).
- cumulative : ExponenceScope
- separative : ExponenceScope
Instances For
Equations
- Core.Morphology.instDecidableEqExponenceScope x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
WALS Ch 22: How many inflectional categories are expressed on the verb.
- low : VerbSynthesis
- moderate : VerbSynthesis
- high : VerbSynthesis
Instances For
Equations
- Core.Morphology.instDecidableEqVerbSynthesis x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Locus of marking: where grammatical relations are marked. Derived from WALS Ch 25A @cite{nichols-bickel-2013a}.
- headMarking : LocusOfMarking
- dependentMarking : LocusOfMarking
- doubleMarking : LocusOfMarking
- zeroMarking : LocusOfMarking
- inconsistentOrOther : LocusOfMarking
Instances For
Equations
- Core.Morphology.instDecidableEqLocusOfMarking x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
WALS Ch 26: Whether a language predominantly uses prefixes or suffixes.
- stronglySuffixing : PrefixSuffix
- weaklySuffixing : PrefixSuffix
- equalPrefixSuffix : PrefixSuffix
- weaklyPrefixing : PrefixSuffix
- stronglyPrefixing : PrefixSuffix
- littleAffixation : PrefixSuffix
Instances For
Equations
- Core.Morphology.instDecidableEqPrefixSuffix x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
WALS Ch 27: Whether the language has productive reduplication.
- productiveFull : Reduplication
- fullOnly : Reduplication
- noProductive : Reduplication
Instances For
Equations
- Core.Morphology.instDecidableEqReduplication x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
WALS Ch 23: Where grammatical relations are marked in clausal syntax. @cite{nichols-bickel-2013b}
- headMarking : LocusClause
- dependentMarking : LocusClause
- doubleMarking : LocusClause
- noMarking : LocusClause
- other : LocusClause
Instances For
Equations
- Core.Morphology.instDecidableEqLocusClause x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Core.Morphology.instReprLocusClause = { reprPrec := Core.Morphology.instReprLocusClause.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
WALS Ch 24: Where grammatical relations are marked in possessive NPs. @cite{nichols-bickel-2013c}
- headMarking : LocusPossessive
- dependentMarking : LocusPossessive
- doubleMarking : LocusPossessive
- noMarking : LocusPossessive
- other : LocusPossessive
Instances For
Equations
- Core.Morphology.instDecidableEqLocusPossessive x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
WALS Ch 25A: Whole-language locus-of-marking classification. @cite{nichols-bickel-2013a}
- headMarking : WholeLanguageMarking
- dependentMarking : WholeLanguageMarking
- doubleMarking : WholeLanguageMarking
- zeroMarking : WholeLanguageMarking
- inconsistentOrOther : WholeLanguageMarking
Instances For
Equations
- Core.Morphology.instDecidableEqWholeLanguageMarking x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
WALS Ch 25B: Whether A and P arguments are zero-marked. @cite{nichols-bickel-2013d}
- zeroMarking : ZeroMarkingAP
- nonZeroMarking : ZeroMarkingAP
Instances For
Equations
- Core.Morphology.instDecidableEqZeroMarkingAP x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
WALS Ch 28: Whether a language exhibits case syncretism.
- noCaseMarking : CaseSyncretism
- coreCasesOnly : CaseSyncretism
- coreAndNonCore : CaseSyncretism
- noSyncretism : CaseSyncretism
Instances For
Equations
- Core.Morphology.instDecidableEqCaseSyncretism x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
WALS Ch 29: Whether a language exhibits syncretism in verbal person/number.
- noSubjectMarking : VerbalSyncretism
- syncretic : VerbalSyncretism
- notSyncretic : VerbalSyncretism
Instances For
Equations
- Core.Morphology.instDecidableEqVerbalSyncretism x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
WALS Ch 21B: What categories co-occur with TAM in a single formative.
- monoexponential : TAMExponence
- tamAgreement : TAMExponence
- tamAgreementDiathesis : TAMExponence
- tamAgreementConstruct : TAMExponence
- tamPolarity : TAMExponence
- noTam : TAMExponence
Instances For
Equations
- Core.Morphology.instDecidableEqTAMExponence x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
WALS Ch 62: How a language constructs action nominals.
- sentential : ActionNominal
- possessiveAccusative : ActionNominal
- ergativePossessive : ActionNominal
- doublePossessive : ActionNominal
- other : ActionNominal
- mixed : ActionNominal
- restricted : ActionNominal
- noActionNominals : ActionNominal
Instances For
Equations
- Core.Morphology.instDecidableEqActionNominal x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
WALS Ch 79A: Whether suppletion is conditioned by tense, aspect, or both.
- tense : SuppletionTA
- aspect : SuppletionTA
- tenseAndAspect : SuppletionTA
- none : SuppletionTA
Instances For
Equations
- Core.Morphology.instDecidableEqSuppletionTA x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
WALS Ch 79B: Whether a language has suppletive imperatives/hortatives.
- alternating : SuppletionImperative
- imperative : SuppletionImperative
- hortative : SuppletionImperative
- imperativeAndHortative : SuppletionImperative
- none : SuppletionImperative
Instances For
Equations
- Core.Morphology.instDecidableEqSuppletionImperative x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
WALS Ch 80A: Whether a language has verbal number marking.
- none : VerbalNumber
- pairsNoSuppletion : VerbalNumber
- pairsSuppletion : VerbalNumber
- triplesNoSuppletion : VerbalNumber
- triplesSuppletion : VerbalNumber
Instances For
Equations
- Core.Morphology.instDecidableEqVerbalNumber x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
A language's morphological profile, combining dimensions from WALS Chapters 20--29 plus supplementary chapters. Required fields are derived from WALS where possible; optional fields are populated when the language appears in the relevant WALS chapter.
- language : String
- iso : String
- fusion : Fusion
Ch 20: Fusion type
- exponence : Exponence
Ch 21: Exponence type
- verbSynthesis : VerbSynthesis
Ch 22: Inflectional synthesis of the verb
- locus : LocusOfMarking
Locus of marking (derived from Ch 23 clause-level; fallback for absent languages)
- prefixSuffix : PrefixSuffix
Ch 26: Prefixing vs suffixing
- reduplication : Reduplication
Ch 27: Productive reduplication
- locusClause : Option LocusClause
Ch 23: Locus of marking in the clause (optional)
- locusPossessive : Option LocusPossessive
Ch 24: Locus of marking in possessive NP (optional)
- wholeLanguageMarking : Option WholeLanguageMarking
Ch 25A: Whole-language marking typology (optional)
- zeroMarkingAP : Option ZeroMarkingAP
Ch 25B: Zero marking of A and P arguments (optional)
- caseSyncretism : Option CaseSyncretism
Ch 28: Case syncretism (optional)
- verbalSyncretism : Option VerbalSyncretism
Ch 29: Syncretism in verbal person/number marking (optional)
- tamExponence : Option TAMExponence
Ch 21B: Exponence of TAM inflection (optional)
- actionNominal : Option ActionNominal
Ch 62A: Action nominal constructions (optional)
- suppletionTA : Option SuppletionTA
Ch 79A: Suppletion according to tense and aspect (optional)
- suppletionImperative : Option SuppletionImperative
Ch 79B: Suppletion in imperatives and hortatives (optional)
- verbalNumber : Option VerbalNumber
Ch 80A: Verbal number and suppletion (optional)
- flexivity : Option Flexivity
@cite{bickel-nichols-2001}: Flexivity — whether inflectional formatives show item-based allomorphic variation (flexive) or are phonologically invariant (nonflexive). Orthogonal to
fusion. Not derivable from WALS. - bnExponence : Option ExponenceScope
@cite{bickel-nichols-2001}: Exponence scope — whether single formatives bundle multiple categories (cumulative) or each expresses one (separative). Broader than WALS Ch 21
exponence(which is case-specific).
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Convert WALS 20A fusion type to the local three-way Fusion classification.
Returns none for mixed categories that do not map cleanly.
Equations
- Core.Morphology.fromWALS20A Data.WALS.F20A.FusionType.exclusivelyConcatenative = some Core.Morphology.Fusion.concatenative
- Core.Morphology.fromWALS20A Data.WALS.F20A.FusionType.exclusivelyIsolating = some Core.Morphology.Fusion.isolating
- Core.Morphology.fromWALS20A Data.WALS.F20A.FusionType.exclusivelyTonal = some Core.Morphology.Fusion.nonlinear
- Core.Morphology.fromWALS20A Data.WALS.F20A.FusionType.ablautConcatenative = some Core.Morphology.Fusion.nonlinear
- Core.Morphology.fromWALS20A Data.WALS.F20A.FusionType.tonalIsolating = none
- Core.Morphology.fromWALS20A Data.WALS.F20A.FusionType.tonalConcatenative = none
- Core.Morphology.fromWALS20A Data.WALS.F20A.FusionType.isolatingConcatenative = none
Instances For
Convert WALS 21A exponence type to the local Exponence classification.
Returns none for noCase (no information about overall exponence).
Equations
- Core.Morphology.fromWALS21A Data.WALS.F21A.ExponenceType.monoexponentialCase = some Core.Morphology.Exponence.monoexponential
- Core.Morphology.fromWALS21A Data.WALS.F21A.ExponenceType.caseNumber = some Core.Morphology.Exponence.polyexponential
- Core.Morphology.fromWALS21A Data.WALS.F21A.ExponenceType.caseReferentiality = some Core.Morphology.Exponence.polyexponential
- Core.Morphology.fromWALS21A Data.WALS.F21A.ExponenceType.caseTam = some Core.Morphology.Exponence.polyexponential
- Core.Morphology.fromWALS21A Data.WALS.F21A.ExponenceType.noCase = none
Instances For
Convert WALS 22A inflectional synthesis to the local three-way classification.
Equations
- Core.Morphology.fromWALS22A Data.WALS.F22A.InflectionalSynthesis.categoryPerWord0_1 = Core.Morphology.VerbSynthesis.low
- Core.Morphology.fromWALS22A Data.WALS.F22A.InflectionalSynthesis.categoriesPerWord2_3 = Core.Morphology.VerbSynthesis.low
- Core.Morphology.fromWALS22A Data.WALS.F22A.InflectionalSynthesis.categoriesPerWord4_5 = Core.Morphology.VerbSynthesis.moderate
- Core.Morphology.fromWALS22A Data.WALS.F22A.InflectionalSynthesis.categoriesPerWord6_7 = Core.Morphology.VerbSynthesis.moderate
- Core.Morphology.fromWALS22A Data.WALS.F22A.InflectionalSynthesis.categoriesPerWord8_9 = Core.Morphology.VerbSynthesis.high
- Core.Morphology.fromWALS22A Data.WALS.F22A.InflectionalSynthesis.categoriesPerWord10_11 = Core.Morphology.VerbSynthesis.high
- Core.Morphology.fromWALS22A Data.WALS.F22A.InflectionalSynthesis.categoriesPerWord12_13 = Core.Morphology.VerbSynthesis.high
Instances For
Equations
- Core.Morphology.fromWALS26A Data.WALS.F26A.PrefixSuffixPreference.littleAffixation = Core.Morphology.PrefixSuffix.littleAffixation
- Core.Morphology.fromWALS26A Data.WALS.F26A.PrefixSuffixPreference.stronglySuffixing = Core.Morphology.PrefixSuffix.stronglySuffixing
- Core.Morphology.fromWALS26A Data.WALS.F26A.PrefixSuffixPreference.weaklySuffixing = Core.Morphology.PrefixSuffix.weaklySuffixing
- Core.Morphology.fromWALS26A Data.WALS.F26A.PrefixSuffixPreference.equalPrefixingAndSuffixing = Core.Morphology.PrefixSuffix.equalPrefixSuffix
- Core.Morphology.fromWALS26A Data.WALS.F26A.PrefixSuffixPreference.weaklyPrefixing = Core.Morphology.PrefixSuffix.weaklyPrefixing
- Core.Morphology.fromWALS26A Data.WALS.F26A.PrefixSuffixPreference.strongPrefixing = Core.Morphology.PrefixSuffix.stronglyPrefixing
Instances For
Equations
- Core.Morphology.fromWALS27A Data.WALS.F27A.ReduplicationType.productiveFullAndPartialReduplication = Core.Morphology.Reduplication.productiveFull
- Core.Morphology.fromWALS27A Data.WALS.F27A.ReduplicationType.fullReduplicationOnly = Core.Morphology.Reduplication.fullOnly
- Core.Morphology.fromWALS27A Data.WALS.F27A.ReduplicationType.noProductiveReduplication = Core.Morphology.Reduplication.noProductive
Instances For
Equations
- Core.Morphology.fromWALS23A Data.WALS.F23A.LocusOfMarkingInTheClause.headMarking = Core.Morphology.LocusClause.headMarking
- Core.Morphology.fromWALS23A Data.WALS.F23A.LocusOfMarkingInTheClause.dependentMarking = Core.Morphology.LocusClause.dependentMarking
- Core.Morphology.fromWALS23A Data.WALS.F23A.LocusOfMarkingInTheClause.doubleMarking = Core.Morphology.LocusClause.doubleMarking
- Core.Morphology.fromWALS23A Data.WALS.F23A.LocusOfMarkingInTheClause.noMarking = Core.Morphology.LocusClause.noMarking
- Core.Morphology.fromWALS23A Data.WALS.F23A.LocusOfMarkingInTheClause.other = Core.Morphology.LocusClause.other
Instances For
Equations
- Core.Morphology.fromWALS24A Data.WALS.F24A.LocusOfMarkingInPossessiveNounPhrases.headMarking = Core.Morphology.LocusPossessive.headMarking
- Core.Morphology.fromWALS24A Data.WALS.F24A.LocusOfMarkingInPossessiveNounPhrases.dependentMarking = Core.Morphology.LocusPossessive.dependentMarking
- Core.Morphology.fromWALS24A Data.WALS.F24A.LocusOfMarkingInPossessiveNounPhrases.doubleMarking = Core.Morphology.LocusPossessive.doubleMarking
- Core.Morphology.fromWALS24A Data.WALS.F24A.LocusOfMarkingInPossessiveNounPhrases.noMarking = Core.Morphology.LocusPossessive.noMarking
- Core.Morphology.fromWALS24A Data.WALS.F24A.LocusOfMarkingInPossessiveNounPhrases.other = Core.Morphology.LocusPossessive.other
Instances For
Equations
- Core.Morphology.fromWALS25A Data.WALS.F25A.LocusOfMarkingWholeLanguageTypology.headMarking = Core.Morphology.WholeLanguageMarking.headMarking
- Core.Morphology.fromWALS25A Data.WALS.F25A.LocusOfMarkingWholeLanguageTypology.dependentMarking = Core.Morphology.WholeLanguageMarking.dependentMarking
- Core.Morphology.fromWALS25A Data.WALS.F25A.LocusOfMarkingWholeLanguageTypology.doubleMarking = Core.Morphology.WholeLanguageMarking.doubleMarking
- Core.Morphology.fromWALS25A Data.WALS.F25A.LocusOfMarkingWholeLanguageTypology.zeroMarking = Core.Morphology.WholeLanguageMarking.zeroMarking
- Core.Morphology.fromWALS25A Data.WALS.F25A.LocusOfMarkingWholeLanguageTypology.inconsistentOrOther = Core.Morphology.WholeLanguageMarking.inconsistentOrOther
Instances For
Equations
Instances For
Equations
- Core.Morphology.fromWALS28A Data.WALS.F28A.CaseSyncretism.noCaseMarking = Core.Morphology.CaseSyncretism.noCaseMarking
- Core.Morphology.fromWALS28A Data.WALS.F28A.CaseSyncretism.coreCasesOnly = Core.Morphology.CaseSyncretism.coreCasesOnly
- Core.Morphology.fromWALS28A Data.WALS.F28A.CaseSyncretism.coreAndNonCore = Core.Morphology.CaseSyncretism.coreAndNonCore
- Core.Morphology.fromWALS28A Data.WALS.F28A.CaseSyncretism.noSyncretism = Core.Morphology.CaseSyncretism.noSyncretism
Instances For
Equations
- Core.Morphology.fromWALS29A Data.WALS.F29A.SyncretismInVerbalPersonNumberMarking.noSubjectPersonNumberMarking = Core.Morphology.VerbalSyncretism.noSubjectMarking
- Core.Morphology.fromWALS29A Data.WALS.F29A.SyncretismInVerbalPersonNumberMarking.syncretic = Core.Morphology.VerbalSyncretism.syncretic
- Core.Morphology.fromWALS29A Data.WALS.F29A.SyncretismInVerbalPersonNumberMarking.notSyncretic = Core.Morphology.VerbalSyncretism.notSyncretic
Instances For
Equations
- Core.Morphology.fromWALS21B Data.WALS.F21B.ExponenceOfTenseAspectMoodInflection.monoexponentialTam = Core.Morphology.TAMExponence.monoexponential
- Core.Morphology.fromWALS21B Data.WALS.F21B.ExponenceOfTenseAspectMoodInflection.tamAgreement = Core.Morphology.TAMExponence.tamAgreement
- Core.Morphology.fromWALS21B Data.WALS.F21B.ExponenceOfTenseAspectMoodInflection.tamAgreementDiathesis = Core.Morphology.TAMExponence.tamAgreementDiathesis
- Core.Morphology.fromWALS21B Data.WALS.F21B.ExponenceOfTenseAspectMoodInflection.tamAgreementConstruct = Core.Morphology.TAMExponence.tamAgreementConstruct
- Core.Morphology.fromWALS21B Data.WALS.F21B.ExponenceOfTenseAspectMoodInflection.tamPolarity = Core.Morphology.TAMExponence.tamPolarity
- Core.Morphology.fromWALS21B Data.WALS.F21B.ExponenceOfTenseAspectMoodInflection.noTam = Core.Morphology.TAMExponence.noTam
Instances For
Equations
- Core.Morphology.fromWALS62A Data.WALS.F62A.ActionNominalConstructions.sentential = Core.Morphology.ActionNominal.sentential
- Core.Morphology.fromWALS62A Data.WALS.F62A.ActionNominalConstructions.possessiveAccusative = Core.Morphology.ActionNominal.possessiveAccusative
- Core.Morphology.fromWALS62A Data.WALS.F62A.ActionNominalConstructions.ergativePossessive = Core.Morphology.ActionNominal.ergativePossessive
- Core.Morphology.fromWALS62A Data.WALS.F62A.ActionNominalConstructions.doublePossessive = Core.Morphology.ActionNominal.doublePossessive
- Core.Morphology.fromWALS62A Data.WALS.F62A.ActionNominalConstructions.other = Core.Morphology.ActionNominal.other
- Core.Morphology.fromWALS62A Data.WALS.F62A.ActionNominalConstructions.mixed = Core.Morphology.ActionNominal.mixed
- Core.Morphology.fromWALS62A Data.WALS.F62A.ActionNominalConstructions.restricted = Core.Morphology.ActionNominal.restricted
- Core.Morphology.fromWALS62A Data.WALS.F62A.ActionNominalConstructions.noActionNominals = Core.Morphology.ActionNominal.noActionNominals
Instances For
Equations
- Core.Morphology.fromWALS79A Data.WALS.F79A.SuppletionAccordingToTenseAndAspect.tense = Core.Morphology.SuppletionTA.tense
- Core.Morphology.fromWALS79A Data.WALS.F79A.SuppletionAccordingToTenseAndAspect.aspect = Core.Morphology.SuppletionTA.aspect
- Core.Morphology.fromWALS79A Data.WALS.F79A.SuppletionAccordingToTenseAndAspect.tenseAndAspect = Core.Morphology.SuppletionTA.tenseAndAspect
- Core.Morphology.fromWALS79A Data.WALS.F79A.SuppletionAccordingToTenseAndAspect.none = Core.Morphology.SuppletionTA.none
Instances For
Equations
- Core.Morphology.fromWALS79B Data.WALS.F79B.SuppletionInImperativesAndHortatives.aRegularAndASuppletiveFormAlternate = Core.Morphology.SuppletionImperative.alternating
- Core.Morphology.fromWALS79B Data.WALS.F79B.SuppletionInImperativesAndHortatives.imperative = Core.Morphology.SuppletionImperative.imperative
- Core.Morphology.fromWALS79B Data.WALS.F79B.SuppletionInImperativesAndHortatives.hortative = Core.Morphology.SuppletionImperative.hortative
- Core.Morphology.fromWALS79B Data.WALS.F79B.SuppletionInImperativesAndHortatives.imperativeAndHortative = Core.Morphology.SuppletionImperative.imperativeAndHortative
- Core.Morphology.fromWALS79B Data.WALS.F79B.SuppletionInImperativesAndHortatives.none = Core.Morphology.SuppletionImperative.none
Instances For
Equations
- Core.Morphology.fromWALS80A Data.WALS.F80A.VerbalNumberAndSuppletion.none = Core.Morphology.VerbalNumber.none
- Core.Morphology.fromWALS80A Data.WALS.F80A.VerbalNumberAndSuppletion.singularPluralPairsNoSuppletion = Core.Morphology.VerbalNumber.pairsNoSuppletion
- Core.Morphology.fromWALS80A Data.WALS.F80A.VerbalNumberAndSuppletion.singularPluralPairsSuppletion = Core.Morphology.VerbalNumber.pairsSuppletion
- Core.Morphology.fromWALS80A Data.WALS.F80A.VerbalNumberAndSuppletion.singularDualPluralTriplesNoSuppletion = Core.Morphology.VerbalNumber.triplesNoSuppletion
- Core.Morphology.fromWALS80A Data.WALS.F80A.VerbalNumberAndSuppletion.singularDualPluralTriplesSuppletion = Core.Morphology.VerbalNumber.triplesSuppletion
Instances For
Map clause-level locus (F23A) to the 5-way whole-language classification.
Equations
- Core.Morphology.locusClauseToLocus Core.Morphology.LocusClause.headMarking = Core.Morphology.LocusOfMarking.headMarking
- Core.Morphology.locusClauseToLocus Core.Morphology.LocusClause.dependentMarking = Core.Morphology.LocusOfMarking.dependentMarking
- Core.Morphology.locusClauseToLocus Core.Morphology.LocusClause.doubleMarking = Core.Morphology.LocusOfMarking.doubleMarking
- Core.Morphology.locusClauseToLocus Core.Morphology.LocusClause.noMarking = Core.Morphology.LocusOfMarking.zeroMarking
- Core.Morphology.locusClauseToLocus Core.Morphology.LocusClause.other = Core.Morphology.LocusOfMarking.inconsistentOrOther
Instances For
WALS lookup helpers derive MorphProfile field values from auto-generated
WALS data. Each returns Option, yielding none when the language is
absent from that chapter or the grounding function is uninformative.
Profile definitions use .getD fallback so the fallback is only reached
when WALS cannot help.
Equations
- Core.Morphology.walsFusion iso = (Data.WALS.F20A.lookupISO iso).bind fun (x : Data.WALS.Datapoint Data.WALS.F20A.FusionType) => Core.Morphology.fromWALS20A x.value
Instances For
Equations
- Core.Morphology.walsExponence iso = (Data.WALS.F21A.lookupISO iso).bind fun (x : Data.WALS.Datapoint Data.WALS.F21A.ExponenceType) => Core.Morphology.fromWALS21A x.value
Instances For
Equations
- Core.Morphology.walsVerbSynthesis iso = Option.map (fun (x : Data.WALS.Datapoint Data.WALS.F22A.InflectionalSynthesis) => Core.Morphology.fromWALS22A x.value) (Data.WALS.F22A.lookupISO iso)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Core.Morphology.walsPrefixSuffix iso = Option.map (fun (x : Data.WALS.Datapoint Data.WALS.F26A.PrefixSuffixPreference) => Core.Morphology.fromWALS26A x.value) (Data.WALS.F26A.lookupISO iso)
Instances For
Equations
- Core.Morphology.walsReduplication iso = Option.map (fun (x : Data.WALS.Datapoint Data.WALS.F27A.ReduplicationType) => Core.Morphology.fromWALS27A x.value) (Data.WALS.F27A.lookupISO iso)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Core.Morphology.walsCaseSyncretism iso = Option.map (fun (x : Data.WALS.Datapoint Data.WALS.F28A.CaseSyncretism) => Core.Morphology.fromWALS28A x.value) (Data.WALS.F28A.lookupISO iso)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Build a MorphProfile from an ISO 639-3 code via WALS lookups.
Required-field fallbacks (fusionFb, exponenceFb, …) must be supplied
for the six WALS chapters where the lookup may return none (language
absent from chapter, or grounding function uninformative — e.g. WALS 20A
isolatingConcatenative does not map cleanly to the local 3-way Fusion
enum and yields none). When WALS has data the lookup wins; the fallback
is exercised only when WALS is silent.
Optional WALS fields (locusClause, locusPossessive, …) auto-populate
from their lookup helpers and remain none if absent.
The B&N 2001 parameters flexivity and bnExponence are NOT derivable
from any WALS chapter — they are paper-stipulated per
@cite{bickel-nichols-2001} and must be passed explicitly when known.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Mathlib-style Prop-typed predicates with Decidable instances and
@[simp] _iff lemmas. Filter sites that need Bool should call
decide at the boundary. The _iff lemmas are Iff.rfl (unfolding-
only) but make the decomposition visible to simp and to mathlib-
pattern decidable_of_iff derivations.
Equations
Instances For
Equations
- p.instDecidablePredIsConcatenative = decidable_of_iff (p.fusion = Core.Morphology.Fusion.concatenative) ⋯
Equations
Instances For
Equations
- p.instDecidablePredIsIsolating = decidable_of_iff (p.fusion = Core.Morphology.Fusion.isolating) ⋯
Equations
Instances For
Equations
- p.instDecidablePredIsNonlinear = decidable_of_iff (p.fusion = Core.Morphology.Fusion.nonlinear) ⋯
Equations
Instances For
Equations
- p.instDecidablePredIsMono = decidable_of_iff (p.exponence = Core.Morphology.Exponence.monoexponential) ⋯
Equations
Instances For
Equations
- p.instDecidablePredIsPoly = decidable_of_iff (p.exponence = Core.Morphology.Exponence.polyexponential) ⋯
Equations
Instances For
Equations
- p.instDecidablePredHasRedup = decidable_of_iff (p.reduplication = Core.Morphology.Reduplication.productiveFull ∨ p.reduplication = Core.Morphology.Reduplication.fullOnly) ⋯
Equations
Instances For
Equations
- p.instDecidablePredIsSuffixing = decidable_of_iff (p.prefixSuffix = Core.Morphology.PrefixSuffix.stronglySuffixing ∨ p.prefixSuffix = Core.Morphology.PrefixSuffix.weaklySuffixing) ⋯
Equations
Instances For
Equations
- p.instDecidablePredIsPrefixing = decidable_of_iff (p.prefixSuffix = Core.Morphology.PrefixSuffix.stronglyPrefixing ∨ p.prefixSuffix = Core.Morphology.PrefixSuffix.weaklyPrefixing) ⋯
Equations
Instances For
Equations
- p.instDecidablePredIsLowSynthesis = decidable_of_iff (p.verbSynthesis = Core.Morphology.VerbSynthesis.low) ⋯
Equations
Instances For
Equations
- p.instDecidablePredIsHighSynthesis = decidable_of_iff (p.verbSynthesis = Core.Morphology.VerbSynthesis.high) ⋯
Equations
- p.IsFlexive = (p.flexivity = some Core.Morphology.Flexivity.flexive)
Instances For
Equations
- p.instDecidablePredIsFlexive = decidable_of_iff (p.flexivity = some Core.Morphology.Flexivity.flexive) ⋯
Equations
- p.IsNonflexive = (p.flexivity = some Core.Morphology.Flexivity.nonflexive)
Instances For
Equations
- p.instDecidablePredIsNonflexive = decidable_of_iff (p.flexivity = some Core.Morphology.Flexivity.nonflexive) ⋯
Equations
- p.IsCumulative = (p.bnExponence = some Core.Morphology.ExponenceScope.cumulative)
Instances For
Equations
- p.instDecidablePredIsCumulative = decidable_of_iff (p.bnExponence = some Core.Morphology.ExponenceScope.cumulative) ⋯
Equations
- p.IsSeparative = (p.bnExponence = some Core.Morphology.ExponenceScope.separative)
Instances For
Equations
- p.instDecidablePredIsSeparative = decidable_of_iff (p.bnExponence = some Core.Morphology.ExponenceScope.separative) ⋯
Traditional "agglutinating" = concatenative + nonflexive + separative. @cite{bickel-nichols-2001} decomposition of the traditional typology.
Equations
- p.IsAgglutinating = (p.IsConcatenative ∧ p.IsNonflexive ∧ p.IsSeparative)
Instances For
Equations
- p.instDecidablePredIsAgglutinating = decidable_of_iff (p.IsConcatenative ∧ p.IsNonflexive ∧ p.IsSeparative) ⋯
Traditional "fusional" = concatenative + flexive + cumulative. @cite{bickel-nichols-2001} decomposition of the traditional typology.
Equations
- p.IsFusional = (p.IsConcatenative ∧ p.IsFlexive ∧ p.IsCumulative)
Instances For
Equations
- p.instDecidablePredIsFusional = decidable_of_iff (p.IsConcatenative ∧ p.IsFlexive ∧ p.IsCumulative) ⋯
Mutual exclusion #
The traditional types "agglutinating" and "fusional" are mutually exclusive because they require contradictory values on the flexivity dimension (nonflexive vs flexive). This follows from the B&N decomposition — it is not an empirical observation but a structural consequence of the definitions.
Nonflexive and flexive are contradictory: a language cannot be both.
Cumulative and separative are contradictory: a language cannot be both.
Agglutinating and fusional are mutually exclusive: they require opposite flexivity values (nonflexive vs flexive). Follows from the B&N decomposition; not an empirical observation.