Skip to content

[prakriya] लेट् implementation based on लट् लिट् लुङ् stems - #242

Merged
tbdasap merged 8 commits into
ambuda-org:mainfrom
yajnadevam:let-phase-1a-sarvadhatuka
Jun 24, 2026
Merged

tbdasap merged 8 commits into
ambuda-org:mainfrom
yajnadevam:let-phase-1a-sarvadhatuka

Conversation

@yajnadevam

@yajnadevam yajnadevam commented May 20, 2026

Copy link
Copy Markdown
Contributor

Fixes #239

Most Panini reachable लेट् forms are now supported:

Stem Testable Matched Non-compliant Pass rate
लट्-stem 755 558 197 73.9%
लुङ्-stem 587 239 348 40.7%
लिट्-stem 160 55 105 34.4%
Total 1,502 852 650 56.7%

Vedic archaic forms cannot be derived purely from Paninian rules. This would require a system of "vedic rules" and vidyut may not be the right platform for supporting all such forms.

Types of non-compliance are:

Reason Example %
Vedic only forms Weak stem retention(vidAH),vedic alternation(vas->ucCAt) etc 72.6%
guṇa/vriddhi mismatch in Panini vs vedic Pāṇini: cicitat, Veda: ciketat; Pāṇini: vAkzati, Veda: vakzati 23.9%
Vedic intensive keeps ā rāraṇat, vāvṛdhāti 1.8%
Vedic drops final -e in ātmanepada aśnavanta, kṛṇavanta 1.7%

Bug due to T::Nit from #236 is also resolved
Both forms now derive correctly:

Form Corpus Vidyut output (current)
brū 1du atm leṬ bravāvahai bravAvahE, bravAvahe, bravAva, bravAvaH ✓
han 2sg paras leṬ hanaḥ hanaH, hanasi ✓

brū → vac fix: The vac-substitution (2.4.53) is gated on ārdhadhātuka context (ardhadhatuka::run_before_vikarana). Since leṬ is sārvadhātuka per 3.4.113, the gate's early-return fires for leṬ and 2.4.53 never runs. brū is preserved → bravāvahai.

han → ghn fix: The old T::Nit hack triggered 6.4.98. Replaced that with the real Pāṇinian path -> leṬ pratyayas are tagged Sarvadhātuka (3.4.117) + pit (3.4.94) early in samjna.rs.

@tbdasap

tbdasap commented May 21, 2026

Copy link
Copy Markdown
Collaborator

Seems to produce parasmaipadi forms also for एध

Derivation for After Before
eDa~, BvAdi, 2, , Kartari, Let, Prathama, Eka एधाद् , एधात् , एधातै , एधाते , एधाति एधाते
eDa~, BvAdi, 2, , Kartari, Let, Prathama, Dvi एधातः , एधैते एधैते
eDa~, BvAdi, 2, , Kartari, Let, Prathama, Bahu एधान् , एधान्ति , एधातै , एधाते एधाते
eDa~, BvAdi, 2, , Kartari, Let, Madhyama, Eka एधाः , एधासै , एधासे , एधासि एधासे
eDa~, BvAdi, 2, , Kartari, Let, Madhyama, Dvi एधाथः , एधैथे एधैथे
eDa~, BvAdi, 2, , Kartari, Let, Madhyama, Bahu एधाध्वै , एधाध्वे , एधाथ एधाध्वे
eDa~, BvAdi, 2, , Kartari, Let, Uttama, Eka एधा , एधानि , एधै एधै
eDa~, BvAdi, 2, , Kartari, Let, Uttama, Dvi एधाव , एधावः , एधावहै , एधावहे एधावहे
eDa~, BvAdi, 2, , Kartari, Let, Uttama, Bahu एधाम , एधामः , एधामहै , एधामहे एधामहे
eDa~, BvAdi, 2, , Karmani, Let, Prathama, Eka एध्यातै , एध्याते एध्याते
eDa~, BvAdi, 2, , Karmani, Let, Prathama, Bahu एध्यातै , एध्याते एध्याते
eDa~, BvAdi, 2, , Karmani, Let, Madhyama, Eka एध्यासै , एध्यासे एध्यासे
eDa~, BvAdi, 2, , Karmani, Let, Madhyama, Bahu एध्याध्वै , एध्याध्वे एध्याध्वे
eDa~, BvAdi, 2, , Karmani, Let, Uttama, Dvi एध्यावहै , एध्यावहे एध्यावहे
eDa~, BvAdi, 2, , Karmani, Let, Uttama, Bahu एध्यामहै , एध्यामहे एध्यामहे

@yajnadevam

yajnadevam commented May 21, 2026

Copy link
Copy Markdown
Contributor Author

Under leṬ Whitney §720: the strict dhātupāṭha pada distinction is relaxed; many dhātus take either pada in the RV. However, since we are not supporting non-Panini let forms, I will fix it

@yajnadevam

Copy link
Copy Markdown
Contributor Author

Any chance this will be merged soon?

@tbdasap

tbdasap commented Jun 14, 2026

Copy link
Copy Markdown
Collaborator

Any chance this will be merged soon?

Sorry about the delay. I've gist'd the diffs 110K+. Github displays this partially only. So please use a local markdown viewer (for eg. a chrome extension) to view the raw files (2 parts).

I will look at the code diffs over the coming week.

@yajnadevam

yajnadevam commented Jun 16, 2026

Copy link
Copy Markdown
Contributor Author

Looks correct.

Sutras 3.4.97.v1 (paras i-lopa) and 3.4.93 (atm e→ai) — together roughly double the paradigm. The biggest driver overall is the LetStem Lun/Lit split backed by 3.4.113 / 3.4.117, which adds two entirely new stem paradigms.

Summary table these are the sutra that create the new forms:

Sūtra What it adds Scope / multiplier
3.4.97.v1 leṭo'pi parasmaipadeṣv ito lopo bahulam short forms bhavāt/bhavān/bhavās alongside bhavāti/bhavānti/bhavāsi dominant — fires on every parasmaipada cell (except 1sg uttama). Nearly doubles all paras forms.
3.4.93 (generalized) e → ai yajātai alongside yajāte, kṛṇavai, bravāvahai every ātmanepada cell except non-uttama dual. Doubles atm forms.
3.4.98 + vārttika (s-lopa) karavāvakaravāvaḥ uttama dual/plural with final -s
3.4.98.v1 leṭuttamapuruṣe … pratyayalopo vā bare-ā 1sg bhavā alongside bhavāni 1sg uttama paras
7.3.70 ghor lopo leṭi vā dadhatdadhāti (and dā) ghu roots dā/dhā
3.1.34 (now optional for yaj/vah/śru) yakṣi/vakṣi/śroṣiyajāti/vahāti/śṛṇavat sip-vikaraṇa branch
3.4.94.v2 siḍvikaraṇayoge … aṭ anityatvam no-agama 2sg yakṣiyakṣasi sip + 2sg paras
3.4.94 aṭ/āṭ (liṭ-stem) leṭo'ḍāṭau long-ā papṛcāsi/jujozāt ∥ short-a consonant-final reduplicated stem

@tbdasap tbdasap left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The rest of the Let changes look good to me.

Comment thread vidyut-prakriya/data/varttikas.tsv Outdated
3.2.178.4 DyAyateH saMprasAraRaM ca
3.3.106.1 SradantarorupasargavadvfttiH
3.3.125.1 KanerqaqarekekavakA vAcyAH
3.4.94.v2 siBvikaraRayoge leTi qAwAnAm anityatvam dvitIyapuruzaikavacane vaktavyam

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am assuming these 3 "vartikkas" are in some specific texts.
Could you please put the links to the specific pages ?

let j = p.next_not_empty(i)?;
let n = p.pratyaya(j)?;

// 7.3.70 (ghor lopo leṭi vā): "for ghu dhātus (dā, dhā), [the antya] is

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This may not be the right place for a "7.3.*" karya. Currently, I am unable to suggest
the right "prakarana" file where this would be fit in a way that the tests pass.
I will mark a TODO for myself to move this snippet to the right file/location.

@tbdasap
tbdasap merged commit 8da2f90 into ambuda-org:main Jun 24, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

A complete implementation of लेट् present class beyond phase 1

2 participants