Typology.Alignment #
@cite{comrie-1978} @cite{comrie-2013} @cite{dixon-1994} @cite{dixon-1972} @cite{dryer-haspelmath-2013} @cite{haspelmath-2005} @cite{haspelmath-2021} @cite{wals-2013}
Per-language typological substrate for morphosyntactic alignment, covering how languages mark the core grammatical relations S (sole argument of intransitive), A (agent of transitive), and P (patient of transitive). Three WALS chapters by @cite{comrie-2013}:
- Ch 98: alignment of case marking of full noun phrases.
- Ch 99: alignment of case marking of pronouns.
- Ch 100: alignment of verbal person marking.
Plus ditransitive alignment from @cite{haspelmath-2005}.
Mirrors the Linglib/Typology/{Possession,Negation,Comparison,Coordination, Modality,Gender} substrate-extension pattern. Fragment-importable.
What lives here #
AlignmentType(5-way: neutral / accusative / ergative / tripartite / active) + projection helpers.AlignmentProfileper-language struct + cross-domain helpers.DitransitiveAlignment(4-way: neutral / indirective / secundative / tripartite) + projection helpers.DitransitiveProfileper-language struct.- WALS converters:
fromWALS98A,fromWALS99A,fromWALS100A. - WALS aggregate sample-size + corpus-only generalisations from Ch 98/99/100.
Theory-laden caveats #
AlignmentTypecollapses some WALS distinctions. WALS Ch 98 distinguishes "marked nominative" from canonical accusative; we merge both into.accusative. WALS Ch 100 has.hierarchicaland.splitvalues that don't map cleanly to our 5-way enum (fromWALS100AreturnsOption AlignmentTypefor these).activevs split-S. What we call.activecovers both semantically-conditioned split-S (Georgian, Guarani) and aspect-conditioned split (Yukatek). The split mechanism differs, but WALS lumps them.
Out of scope #
The 22-language sample, cross-linguistic generalisations (Dixon,
Silverstein), ditransitive sample, and Fragment-bridge theorems live in
Phenomena/Alignment/Studies/Dixon1994.lean.
@cite{comrie-1989}'s typology generalisations are in
Phenomena/Case/Studies/Comrie1989.lean.
Morphosyntactic alignment type for case marking or verbal person marking. Five categories classifying how a language groups the three core grammatical relations S, A, P.
- neutral : AlignmentType
S = A = P: no morphological distinction (e.g. Mandarin, Thai).
- accusative : AlignmentType
S = A ≠ P: subject + agent grouped, patient distinct (most common).
- ergative : AlignmentType
S = P ≠ A: absolutive grouping, agent distinct (e.g. Basque).
- tripartite : AlignmentType
S ≠ A ≠ P: all three distinctly marked (rare; Nez Perce).
- active : AlignmentType
Active / split-S: S splits into agent-like and patient-like (e.g. Georgian, Guarani).
Instances For
Equations
- Typology.Alignment.instDecidableEqAlignmentType x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Typology.Alignment.instBEqAlignmentType.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Whether this alignment marks the agent (A) distinctly from S.
Equations
Instances For
Whether this alignment marks the patient (P) distinctly from S.
Equations
Instances For
Whether this alignment groups S with A (nominative-accusative pattern).
Equations
Instances For
Whether this alignment groups S with P (absolutive-ergative pattern).
Equations
Instances For
A language's alignment profile across WALS Chs 98/99/100.
- name : String
Language name.
- iso639 : String
ISO 639-3 code.
- npAlignment : AlignmentType
Ch 98: alignment of case marking of full NPs.
- pronAlignment : AlignmentType
Ch 99: alignment of case marking of pronouns.
- verbAlignment : AlignmentType
Ch 100: alignment of verbal person marking.
- notes : String
Notes on the alignment system.
Instances For
Equations
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
Whether NP and pronoun alignment match (no split ergativity in case).
Equations
- p.caseUniform = (p.npAlignment == p.pronAlignment)
Instances For
Whether the language shows the classic NP-ergative / pronoun-accusative split (@cite{dixon-1994}'s generalization).
Equations
Instances For
Whether all three domains have the same alignment.
Equations
- p.fullyUniform = (p.npAlignment == p.pronAlignment && p.pronAlignment == p.verbAlignment)
Instances For
Whether the language has any ergative alignment in any domain.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Whether the language has accusative alignment in both NP and pronoun case-marking domains.
Equations
Instances For
Ditransitive alignment classifies how R (recipient) and T (theme) are coded relative to monotransitive P (@cite{haspelmath-2005}).
- neutral : DitransitiveAlignment
R = T = P: no distinction among non-agent arguments.
- indirective : DitransitiveAlignment
T = P ≠ R: R distinctly marked, T patterns with P. Indirective — analogous to accusative for monotransitives. E.g. English "give the book TO Mary".
- secundative : DitransitiveAlignment
R = P ≠ T: T distinctly marked, R patterns with P. Secundative — analogous to ergative. E.g. many Bantu applicatives.
- tripartite : DitransitiveAlignment
R ≠ T ≠ P: all three roles distinctly marked.
Instances For
Equations
- Typology.Alignment.instDecidableEqDitransitiveAlignment x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Typology.Alignment.instBEqDitransitiveAlignment.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Whether this ditransitive alignment marks R distinctly from P.
Equations
Instances For
Whether this ditransitive alignment marks T distinctly from P.
Equations
Instances For
A language's ditransitive alignment profile.
- name : String
- iso639 : String
- alignment : DitransitiveAlignment
- notes : String
Instances For
Equations
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
WALS Ch 98A → AlignmentType. WALS distinguishes standard and marked-
nominative accusative; we merge both.
Equations
- Typology.Alignment.fromWALS98A Data.WALS.F98A.NPCaseAlignment.neutral = Typology.Alignment.AlignmentType.neutral
- Typology.Alignment.fromWALS98A Data.WALS.F98A.NPCaseAlignment.nominativeAccusative = Typology.Alignment.AlignmentType.accusative
- Typology.Alignment.fromWALS98A Data.WALS.F98A.NPCaseAlignment.nominativeAccusative_3 = Typology.Alignment.AlignmentType.accusative
- Typology.Alignment.fromWALS98A Data.WALS.F98A.NPCaseAlignment.ergativeAbsolutive = Typology.Alignment.AlignmentType.ergative
- Typology.Alignment.fromWALS98A Data.WALS.F98A.NPCaseAlignment.tripartite = Typology.Alignment.AlignmentType.tripartite
- Typology.Alignment.fromWALS98A Data.WALS.F98A.NPCaseAlignment.activeInactive = Typology.Alignment.AlignmentType.active
Instances For
WALS Ch 99A → AlignmentType. WALS has a .none value (no pronouns or
no case on pronouns); we map it to .neutral.
Equations
- Typology.Alignment.fromWALS99A Data.WALS.F99A.PronounCaseAlignment.neutral = Typology.Alignment.AlignmentType.neutral
- Typology.Alignment.fromWALS99A Data.WALS.F99A.PronounCaseAlignment.nominativeAccusative = Typology.Alignment.AlignmentType.accusative
- Typology.Alignment.fromWALS99A Data.WALS.F99A.PronounCaseAlignment.nominativeAccusative_3 = Typology.Alignment.AlignmentType.accusative
- Typology.Alignment.fromWALS99A Data.WALS.F99A.PronounCaseAlignment.ergativeAbsolutive = Typology.Alignment.AlignmentType.ergative
- Typology.Alignment.fromWALS99A Data.WALS.F99A.PronounCaseAlignment.tripartite = Typology.Alignment.AlignmentType.tripartite
- Typology.Alignment.fromWALS99A Data.WALS.F99A.PronounCaseAlignment.activeInactive = Typology.Alignment.AlignmentType.active
- Typology.Alignment.fromWALS99A Data.WALS.F99A.PronounCaseAlignment.none = Typology.Alignment.AlignmentType.neutral
Instances For
WALS Ch 100A → Option AlignmentType. The .hierarchical and .split
values don't map cleanly to our 5-way enum and return none.
Equations
- Typology.Alignment.fromWALS100A Data.WALS.F100A.VerbalPersonAlignment.neutral = some Typology.Alignment.AlignmentType.neutral
- Typology.Alignment.fromWALS100A Data.WALS.F100A.VerbalPersonAlignment.accusative = some Typology.Alignment.AlignmentType.accusative
- Typology.Alignment.fromWALS100A Data.WALS.F100A.VerbalPersonAlignment.ergative = some Typology.Alignment.AlignmentType.ergative
- Typology.Alignment.fromWALS100A Data.WALS.F100A.VerbalPersonAlignment.active = some Typology.Alignment.AlignmentType.active
- Typology.Alignment.fromWALS100A Data.WALS.F100A.VerbalPersonAlignment.hierarchical = none
- Typology.Alignment.fromWALS100A Data.WALS.F100A.VerbalPersonAlignment.split = none
Instances For
Ch 98: neutral NP alignment is the modal pattern (no case marking).
Ch 98: among case-marking systems, accusative outnumbers ergative.
Ch 99: accusative outnumbers ergative for pronoun case marking.
Ch 100: accusative is the dominant verbal-person-marking pattern.
Ch 98: tripartite NP alignment is extremely rare.
Ch 99: tripartite pronoun alignment is extremely rare.