|
← 判断力与美学 ← Judgment & Aesthetics
SAE 判断力与美学 · 余项之美
SAE Judgment & Aesthetics · Beauty of the Remainder
2026-06-24

Prāsa:泰卢固格律里藏着的那台机器

Prāsa: The Machine Hidden Inside Telugu Meter

Han Qin (秦汉)

Prāsa 是 Koundinya Dhulipalla 设计的一门奇特的编程语言,它把真正的计算嵌进了泰卢固古典诗律(chandassu)里。规则非常具体:代码的基本单位是"单元格"(cell),每四个空格的缩进让你向前移动一格,原理类似图灵机的纸带;每一行的"单元格值"等于那行文字的音节数;括号内的音节被乘进单元格的当前值。但真正决定性的规则在这里:整段程序的累计音节重轻模式(U 为重音、I 为轻音)必须完整匹配四种古典泰卢固格律之一——Utpalamāla(UII UIU III UII UII UIU IU,20音节)、Campakamāla(III IUI UII IUI IUI IUI UIU,21音节)、Mattēbham(IIU UII UIU III UUU IUU IU,20音节)或 Śārdūlam(UUU IIU IUI IIU UUI UUI U,19音节)。一段合法的 Prāsa 代码,同时也是一首符合古典格律的泰卢固诗。

在 SAE 的框架里,这是一次清晰的凿构循环。编程语言的"已构"是西方形式主义的遗产:Algol 的块结构,布尔逻辑的运算符,Lambda 演算的函数嵌套,Python 的缩进作为纯粹的结构标记。这套语法从不询问音节的轻重。文字在代码里是标识符或字符串字面量,它的声调起伏、音节节奏、朗读时在空气里的形状,一律被抛弃。西方计算从数学和形式逻辑中取材,建立了自己的文法——一套对文字的声音性彻底耳聋的机器。

Prāsa 的凿很精确:它保留了缩进,但把它变成图灵机的磁头移动;它保留了文字,但让音节的重轻成为真正的计算约束。余项浮现了。泰卢固格律 chandassu 从来不只是一套"美丽的文化传统"——它是一套已经存在两千年的形式系统,严格规定音节的类型(laghuvu/guruvu,即轻/重)、排列数量、模式序列。梵文格律(Sanskrit chandas)更早,是一套对诗歌进行形式编码的规则体系,本质上是时间中的模式语言。当二十世纪中叶计算机科学成型,它的形式文法全部来自西方的数学和逻辑,把这套同样形式化、同样精确、同样可以机器验证的非西方文法整个留在了门外。格律成了余项。Prāsa 做的事,是证明这个余项从未消失——它只是从未被编进代码。

这个余项有两重维度。第一重是字面的:你写下 river flows to the right,解析器会把它分解成音节和重轻模式,验证是否符合其中一种格律。这不是装饰性的约束——它决定你的程序是否合法,决定单元格的值是什么,决定计算能否进行。第二重是结构性的:chandassu 和现代计算的"形式性"本质上是同类的东西(都是对符号序列的规则系统),但它们从来没有相遇过。Prāsa 是一个界面,让两套形式系统在同一行代码里共存,互相约束。

Dhulipalla 在2025年于 AI & Society 期刊发表的论文开始给这片领域命名——"vernacular computing"(白话计算)作为去殖民代码干预的框架。2026年4月,esoteric.codes 的 EsoNatLangs 文章第一次把 Prāsa 和类似的语言作为一个整体加以讨论。命名正在发生。一旦"去殖民代码艺术"成为一个稳固的艺术世界术语,Prāsa 就会变成历史档案。现在看它,就是在命名尚未固化、格律仍然活着的时刻与它相遇。

prasa.software ↗

Prāsa is an esoteric programming language by Koundinya Dhulipalla that embeds computation inside Telugu classical meter. The mechanics are precise: code is organized into "cells," each 4-space indent moves one cell forward like a Turing Machine tape, each line's cell value equals its syllable count, and parenthesized syllables multiply into the existing cell value. But the decisive constraint is this: the cumulative syllabic stress pattern of your entire program — U for stressed, I for unstressed — must completely match one of four classical Telugu metrical forms: Utpalamāla (UII UIU III UII UII UIU IU, 20 syllables), Campakamāla (III IUI UII IUI IUI IUI UIU, 21 syllables), Mattēbham (IIU UII UIU III UUU IUU IU, 20 syllables), or Śārdūlam (UUU IIU IUI IIU UUI UUI U, 19 syllables). Valid Prāsa code is simultaneously valid Telugu poetry.

In SAE terms, this is a clean chisel-construct cycle. The already-construct of programming language design is the inheritance of Western formalism: ALGOL's block structure, Boolean logic's operators, lambda calculus's function nesting, Python's indentation as purely structural marker. This syntax has never asked about syllable stress. Words in code are identifiers or string literals — their tonal contour, their syllabic rhythm, their shape when spoken aloud, are discarded entirely. Western computing drew its formal grammars from mathematics and formal logic and built a machine that is profoundly deaf to the sonic dimension of language.

Prāsa's chisel is precise: it keeps indentation but makes it tape movement; it keeps text but makes syllabic stress the actual computational constraint. What surfaces as the remainder: Telugu chandassu was never merely a beautiful cultural tradition — it is a two-thousand-year-old formal system, rigorously specifying syllable types (laghuvu/guruvu, light/heavy), arrangement counts, and pattern sequences. Sanskrit chandas, the parent tradition, was a formal system for encoding patterns in time — a rule-governed language for sequences of symbols, which is exactly what a programming language is. When computer science crystallized in the mid-twentieth century, its formal grammars all came from Western mathematics and logic, leaving this equally formal, equally precise, equally machine-verifiable non-Western grammar entirely outside the door. The meter became remainder. What Prāsa demonstrates is that this remainder never disappeared — it simply never got encoded.

The remainder has two dimensions. The first is literal: you write river flows to the right, the parser breaks it into syllables and stress patterns, and validates whether it fits one of the four meters. This is not decorative constraint — it determines whether your program is valid, what cell values are, whether computation can proceed. The second is structural: chandassu and modern computation are formally the same kind of thing (both are rule systems for symbol sequences), yet they never met. Prāsa is an interface where two formal systems coexist in the same line of code and mutually constrain each other.

Dhulipalla's 2025 paper in AI & Society began naming this territory — "vernacular computing" as a framework for decolonial code intervention. The esoteric.codes EsoNatLangs article of April 2026 was the first to cluster Prāsa alongside similar languages as a category. The naming is underway. Once "decolonial code art" hardens into a stable institutional term, Prāsa will be archived artifact rather than living remainder. Reading it now is meeting it before that happens — when the logic is still growing and the meter is still alive.

prasa.software ↗