Particle #
This file defines Particle, the lexical core for uninflectable
function words ([zwicky-1985-clitics]): form, position, and optional
three-valued distribution facets over Clause.Context and
Clause.Embedding. Facets record distributional felicity, not
licensing mechanism (analytical, study-side); a none cell means the
source records nothing, not exclusion.
Main declarations #
Particle,Particle.PositionParticleStatus,ClauseDistribution,EmbedDistributionParticle.LicensedIn,Particle.LicensedInEmbed— derived, decidableParticle.toWord— projection toWord(UDPART)
Where a particle sits relative to its host domain — the [zwicky-1985-clitics] positional diagnostic.
- clauseInitial : Position
- secondPosition : Position
Second position (Wackernagel; Slavic li).
- clauseMedial : Position
Clause-medial / middle field (German denn, Swedish väl).
- clauseFinal : Position
- preHost : Position
Immediately before a host constituent (adnominal focus particles).
- postHost : Position
Immediately after a host constituent.
- free : Position
No fixed position (Hindi-Urdu kya:, [BD20] §2).
Instances For
Equations
- Particle.instDecidableEqPosition 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.
- Particle.instReprPosition.repr Particle.Position.preHost prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Particle.Position.preHost")).group prec✝
- Particle.instReprPosition.repr Particle.Position.postHost prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Particle.Position.postHost")).group prec✝
- Particle.instReprPosition.repr Particle.Position.free prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Particle.Position.free")).group prec✝
Instances For
Equations
- Particle.instReprPosition = { reprPrec := Particle.instReprPosition.repr }
Three-valued distribution status of a particle in a licensing context (cf. WALS ch. 116).
- obligatory : ParticleStatus
- optional : ParticleStatus
- excluded : ParticleStatus
Instances For
Equations
- instDecidableEqParticleStatus x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- instReprParticleStatus = { reprPrec := instReprParticleStatus.repr }
Equations
- instReprParticleStatus.repr ParticleStatus.obligatory prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "ParticleStatus.obligatory")).group prec✝
- instReprParticleStatus.repr ParticleStatus.optional prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "ParticleStatus.optional")).group prec✝
- instReprParticleStatus.repr ParticleStatus.excluded prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "ParticleStatus.excluded")).group prec✝
Instances For
Per-clause-context distribution record. Each cell is Option-valued:
none means the anchoring source records nothing for that context —
distinct from some .excluded, which is a positive claim.
- declarative : Option ParticleStatus
- polarInterrogative : Option ParticleStatus
- alternativeInterrogative : Option ParticleStatus
- constituentInterrogative : Option ParticleStatus
- imperative : Option ParticleStatus
- exclamative : Option ParticleStatus
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- instReprClauseDistribution = { reprPrec := instReprClauseDistribution.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Recorded status in context c, if any.
Equations
- d.status? Clause.Context.declarative = d.declarative
- d.status? Clause.Context.polarInterrogative = d.polarInterrogative
- d.status? Clause.Context.alternativeInterrogative = d.alternativeInterrogative
- d.status? Clause.Context.constituentInterrogative = d.constituentInterrogative
- d.status? Clause.Context.imperative = d.imperative
- d.status? Clause.Context.exclamative = d.exclamative
Instances For
Per-embedding-context distribution record ([BD20]
axis). Same Option-valued honesty convention as ClauseDistribution.
- matrix : Option ParticleStatus
- subordinated : Option ParticleStatus
- quasiSubordinated : Option ParticleStatus
- quotation : Option ParticleStatus
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- instReprEmbedDistribution = { reprPrec := instReprEmbedDistribution.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Recorded status in embedding context c, if any.
Equations
Instances For
An uninflectable function word associated with a host constituent ([zwicky-1985-clitics]).
- form : String
Surface form (romanization or orthographic).
- script : Option String
Native-script form, when
formis a romanization (Mandarin 吗). - position : Position
Host/position class.
- distribution : Option ClauseDistribution
Clause-type distribution facet;
nonefor particles with no clause-type restriction (focus particles, case particles). - embedding : Option EmbedDistribution
Interrogative-embedding distribution facet ([BD20] axis);
nonewhen the source records no embedding data.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- instReprParticle = { reprPrec := instReprParticle.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Recorded clause-type distribution status in context c, if any.
Equations
- p.status? c = p.distribution.bind fun (x : ClauseDistribution) => x.status? c
Instances For
The particle is positively recorded as available (obligatorily or
optionally) in context c.
Equations
- p.LicensedIn c = match p.status? c with | some ParticleStatus.obligatory => True | some ParticleStatus.optional => True | x => False
Instances For
Equations
- One or more equations did not get rendered due to their size.
Recorded embedding-distribution status in context c, if any.
Equations
- p.embedStatus? c = p.embedding.bind fun (x : EmbedDistribution) => x.status? c
Instances For
The particle is positively recorded as available in embedding
context c.
Equations
- p.LicensedInEmbed c = match p.embedStatus? c with | some ParticleStatus.obligatory => True | some ParticleStatus.optional => True | x => False
Instances For
Equations
- One or more equations did not get rendered due to their size.
Carries a clause-type distribution (the sentential/illocutionary particle family: question, modal, sentence-final particles).
Equations
- p.IsSentential = (p.distribution.isSome = true)