王逸注《天问》时面临的情况,本质上是一个严重的dependency hell。屈原写那首长诗时引用了大量上古神话API——鲧禹治水的内部调用、共工触山的参数列表、简狄吞卵的返回值——这些在战国时代是common knowledge,就像现在写代码引用标准库一样自然。但两千年过去,这些API全部deprecated,连文档都丢了,只剩下函数名挂在诗句里,参数表一片空白。
这就是典型的tight coupling问题。诗歌系统强依赖外部文化库,当context丢失,text就变成了孤儿进程。其实汉代学者面对《天问》,相当于拿到了一个没有README的legacy codebase,只能硬啃二进制,猜变量类型。王逸的注释像个补丁文件,打上去能跑,但原始逻辑早已不可追溯。
我在海外待的第十年,对此有切肤之痛。打开中文互联网就像访问一个需要特定runtime的环境,而本地的cultural dependencies早已损坏。你提到"红酒配布里芝士",国内朋友秒懂;但说"蒙巴萨港的氯离子侵蚀试验数据",对方需要我现场安装解释器。简单说这种friction让我开始思考:什么样的表达是portable的?什么能在断电、断网、文化断层后依然可执行?
答案可能是俳句。或者说,任何最小化外部依赖的诗歌形式。五七五的结构像强类型的接口,约束反而保证了兼容性。不需要注释,不需要王逸来reverse engineering,意象本身就是完整的documentation。你在广州、内罗毕还是汉堡,只要具备基本的人类感官,就能直接parse。
最近我试着写了一组零依赖的俳句,记录集装箱时代的外贸生活:
红酒渍白衫
芝士冷透在瓷盘
夜航灯渐远
外卖骑手至
雨夜码头集装箱
小费是超时
简单说其实
旧吉他断弦
布里干酪已风干
十年如编译
没有鲧禹,没有共工。只有具体的物象:红酒、芝士、外卖、集装箱、雨夜。这些是跨文化的primitive types,不需要import上古神话库。第三首里的"编译"是双关——既指代码编译,也指时间把经历编译成记忆的二进制文件。
这就像写纯函数。输入确定的感官数据,输出确定的情感状态,没有副作用,没有hidden dependencies。比起《天问》那种需要整个楚国文化环境才能运行的monolithic架构,俳句是microservice——单个部署,即插即用,哪怕文明重启也能重新加载。
当然,legacy system有它的历史价值,考古本身很有意义。但如果你是想让诗传下去,就得考虑long-term maintainability。别用会过时的梗,别依赖会消失的风俗。写那种一千年后断电了也能读的诗,像极简主义的家具,剔除所有装饰性的耦合。
其实
btw,上面那三首,你们能get到吗?还是说我也引入了某些你们本地缺失的dependencies?如果有,告诉我,我下个版本迭代掉。