Welcome Guest ( Log In | Register )

欢迎访问本站。游客仅能浏览首页新闻、版块主题、维基条目与资源信息,需登录后方可获得内容发布、话题讨论、维基编辑与资源下载等权限。若无账号请先完成注册流程。
Posted By: annshark01 @ 2017-10-28, 23:17
马拉加人所罗门·本·犹大·伊本·盖比鲁勒声称,他在自己位于萨拉戈察的居所中找到了每一个犹太学者苦觅而不得的阿莱夫,并用足四十首的诗篇描绘了他在阿莱夫中所亲眼目睹的景象,每一部都有比伯利恒所牧的羔羊更为隆盛的节数;他从无限和永恒的集合伊始,将迦南人最古老的语素缩聚在只有一点的球体中,留下十个质点的蔓生趋随在圣牛的颅骨之后;宇宙的投影在这里彼此并列,在穷尽的止境中映照出彼此的镜像,一侧是流逝前的片刻或是永恒,一侧是流逝后的刹那或是无限,或者彼此相反。

但众所周知,交流的前提是个体间相互首肯、彼此共有的经历,是亲历的、过去的、既定的事实,一如所有相信阿莱夫的学者都坚信,阿莱夫的存在并不具备足以被空泛的字母排布构成的语言加以描述和解释的特性。神秘学者指责他的诗篇只是意象、结构、空间和时序的有限罗列,是人为地将具体与抽象、实在与空想、普遍与象征刻意混淆的低劣产物;犹太学者则否认他对于根和枝的语言使用,否认他意图使用任何一种已知语言对智慧进行的描述和构造,甚至否认他对于隐藏、揭示和内在转变的一切认识。他们将他的认识归咎于虚幻和空洞的想象,是将实在的智慧与不切实际的幻想彼此杂糅、再用词藻文墨和奇技淫巧大肆污染之后貌似自洽的虚假印证。盖比鲁勒的笔是结果,而非起源,他们如是说道。

学界的声音起初尽管沸反盈天,却又很快便被盖比鲁勒的挚友兼保护人,耶库蒂尔·伊本·哈桑·穆塔瓦基勒·伊本·喀布鲁恩所镇压,以免招致盖比鲁勒的愤怒。事实上,尽管盖比鲁勒在向哈桑赠予的诗作中用浓重的笔墨表达了自己的谢意和对外界中伤的不屑,他的心中却委实燃烧着异乎寻常地灼热可怖的熊熊愤怒;但这火热的矛头所指向的却并非对他的作品极尽驳斥讥嘲的学者诸贤,而是既无力将阿莱夫加以描述,又无从将阿莱夫昭之于世的盖比鲁勒自己。于是他只得继续操起手中业已熟稔的喀兰,或是仍未抵达他指间的翎笔,用另外四十部的诗篇写下他的所见所闻:有阿拉伯海上一艘载着露水的驳船,有骆驼背负着异教的偶像在其上踱步,又有驮负哈里发成千上万手稿的另一个自己映在它水平的眼瞳中;有杀死了哈扎尔公主阿洁赫的两面镜子,一面快、一面慢,能够使人看到自己阖拢的眼睑;有仅止群星竞相罗布的夜晚,替代白月于银河绽放的灰色山茶,伊本·哈泰德从根茎的走向和花瓣的纹路中见到了真正的智慧,却只在自己的庭园中种植色泽明艳的蔷薇;有乘着夏日的尾巴,在象牙色的塔楼顶端摇着手扇乘凉的贵妇,她佩戴着用玛瑙、玉髓和珍珠串联而成的首饰,向脚下慕名而来的求婚者同时投掷玫瑰和便溺。

但他没有见到神。

他看到了数之不尽的人所见证的神:征服者的神在铁剑、枪尖和蹄踏中,在烟硝、喋血和横尸中;殉道者的神在十字架中,在刽子手的刀斧中,在朝向东南西北各方天地的天使脸孔所暗喻的无限中;马王们的神在青绿草海的利刃中,在骨质的项链、商人恐惧的面容、死去牲畜的肉和皮革中;流浪汉的神在睡梦中,在地牢中,在胃酸倒流的食道和他人的口袋中;虫豸的神在从天而降的汪洋中,在头顶徘徊起伏的群山中;但他没有见到自己的神。他想,如果能有其他人代他观看他所觅得的阿莱夫,或许就能有人告诉他,属于他的神究竟位处怎样的意象和实体之中;或许并非如此,或许对方只能像他过往的诗篇一般苍白无力地将并列的森罗万象用先后承接的时序毁坏,又或许他所见到的神,在他人看来不过只是疯汉、狂人和醉鬼口中的痴人说梦,又或许在他们眼中映出的神,就是他所日夜目睹的阿莱夫。但不论如何,就如他所抱憾的笔墨宣示的那般,他毋需,也不能够使他人观看他所寻得的阿莱夫;阿莱夫在他的梦中。

一个人即使并不熟悉盖比鲁勒,也不难从他人口中知道,盖比鲁勒其貌不扬,甚至算得上丑陋;幼年时期罹患的狼疮在他的脸颊、鬓角、下颌和脖颈处悉皆留下了永远无法磨灭的痕迹,像是被征服者的铁蹄踏平的国度中,隶属于他人的奴隶在裸露处和私密处,用火热的铁块烙制的记号。他生得矮小,即便是鹅卵石或是沙土铺设的道路上横卧的乞丐,又或是流连于他人的荷包和空巷死角的孤儿中的年长者,只要在他的面前鼓起胸膛、挺直腰板,便能够居高临下地俯视他那张丑陋的脸庞。即使他通过外表以外的天赋和美德赢得了伊本·哈桑的友谊,即使他并不需要如他所鄙夷或是鄙夷于他的众人一般用劳碌和汗水养活自己,他也难以相信他所追趋的智慧向他屡屡暗示的转变。他用炭、树胶和油脂调制的烟墨把犹太人的哲学付诸文字,写下将现实、光和整体与看似无关的起源间建立起联系的逻辑和理说,内心中徘徊的却只有结果带给他的最为有限的感触。时而,他会试图接受那些对他的著述严辞驳斥的学者意图堆砌的理论,但他所感受到的,又或是他希望感受到的,却并不是意识、壁垒、时序或是世界的层次,而是包裹在Adam Kadmon、Acilut、Beriya、Yecira和Asiya下的另外一种永恒。将活人的灵与肉献予太阳的民族认为,人会逐渐与他的境遇合二为一;换句话说,人就是自己的处境。

于是他不再观看阿莱夫;他让阿莱夫来观看他。

正是从这一天起,他的睡梦中响起了一个从未听闻过的声音;他看不到是谁,又或是用何种方式述说,却端的认为这就是阿莱夫传来的意旨;声音的主人用千千万万的声调向他述说闻所未闻的万万千千,然而这一切所耗费的却不过只是永恒与须臾之间的一个断点。他不再能看到红色的砂漠中竦峙着千重立柱的古都,不再能看到未婚的女郎手执长弓的模样,不再能看到黑色的蜘蛛所爬过的骨骸,更不再能看到泥海之中青铜王冠的去向;随之而来的,是与往日所见的一切似是而非的景象:有百年之后正在合力将一部阿拉伯著作翻译成拉丁文的亚伯拉罕·伊本·达乌德和多米尼库斯·古恩狄萨利努斯,译本的扉页上写有阿维斯布隆的名字;有千万年都未及陷落的神圣都城,有着乌鸦头颅的天使曾经来访,在嘁喳的啸叫中带走了犹太人的王,据说他们黑白驳杂的羽毛下、那被业已倾圮的连绵丘墟所埋藏的圣殿中,任何人都能找到只属于他们自己的神。

然后,他便看到了乐园。

乐园并不是这片土地的名字,声音的主人告诉他,这里也并没有土地;事实上,乐园之中空无一物。这里唯一为他留置的东西,便只有一个人。这是希伯来人,声音对他说,唯一的希伯来人,但盖比鲁勒却不知如何是好。他知道,只有外族人才会将希伯的儿女称作希伯来人;他的内心悸动,却不能知晓其中的意味。每一个夜晚他都能够看到乐园中的希伯来人,但每当他从阿莱夫的声音中醒来,三步并作两步地抓起书桌上横放的喀兰时,希伯来人的面容、体态、风度和着装便会在朦胧和暧昧中被霎时遗忘。他于是只能想象,就如那些犹太学者和神秘学者所指摘的那般;他前所未有地恳求他的保护人,向他索要他的想象所需的资金和材料。他知道,他无法从想象中知晓希伯来人真正的样貌,更无法知晓他内心的犹疑又是否会被希伯来人所印证;但他更知道,希伯来人决不是他的神,正如他并不是自己的神。

于是,他开始为自己的想象具以实体的形貌;他取来松石和油膏,取来面包和酒,取千只羊羔走过的牧场,取十弦的琴所奏出的一切音韵和旋律,取五块石头和胜过千千的万万,取人所忤逆背反的一切淫邪和荒诞;伊本·哈桑允诺了他,让雪花石膏用一百个白昼牧去了万只羔羊,只有十分之一活了下来,又让萨拉戈察的仆人弹奏弦瑟,他们的手指落在地上,使萨拉戈察成了伊比利亚的陷坑。他又取来基石和高台,取来十枚黄金和青铜熔铸的戒环,取来雅各的子民建立的国度赖以为生的智识,取来神从未有过的配偶的偶像,取来假的神、伪的神、错的神、旧的神的偶像;伊本·哈桑允诺了他,让征服者的子民学习他们所禁止的绘画和雕刻,又让犹太人、穆斯林、基督徒和异教徒交出他们的智慧,从他们的肩膀滚落的头颅积满了高及数千腕尺的剧场废墟,时至今日,已经没有人记得,那时这里的名字还叫做凯撒奥古斯塔。

希伯来人做成了;他像是一切犹太人的王。有油膏施洗他的头发,束发的带子是丝,是绸,也是亚麻和纸,上面绣着野蔷薇和薰衣草,梦中的声音说,这代表雍容和典雅;有陨铁的镯和戒环佩在他的指和腕上,又有白银、绿松石和黄玉的链子环着他的脚踝和脖颈,梦中的声音说,这代表骄奢和淫逸;有肩舆承载他的出行,抬杆是从东方迎来的香木,幕帘用黄金镀过,外壁却嵌满了红玉和天青石,脚夫的皮肤用染料涂成了明艳的古铜色,随着他手中权杖鞍前马后,又有黄铜和锡从杖头垂落,覆满他们行过的地方,梦中的声音说,这代表权力和权威;又有如山的羊皮卷和犊皮纸堆落在他的脚边,上面密密麻麻地书写着古往今来一切发生或未曾发生的事,梦中的声音说,这代表智识,却不代表智慧。

最后,梦中的声音告诉他,希伯来人拥有一切的过去,然而却并不会将过去的一切堂而皇之地昭示出来;他的过去潜藏在旅人的耳语中,在手掌和树墩的轮廓中,在异族的战士胸腹和肱骨上用油彩涂绘的纹路中,在苍天和地平交汇的最初也是最后的一刻所言说的字句中。他从梦中惊醒,迎接他的却是手执权杖的希伯来人,后者的律法和权威为萨拉戈察所不容:在开阔地中沐浴的女子和孩童不被他所准许,在呼喝声中被一手投入盘踞着毒蛇的坑洞;王公和贵族向他请求宫中女侍的嫁娶,却被他当作觊觎王位而身首异处。没有人再在月亮露面的夜中吟唱欢愉或冷峻的歌谣,小酒馆供应的蜂蜜烤肉变成了青蛙、蚯蚓和牛股骨的浓汤;人们将自己想象成被征服的民族拥立的王,终日只知道如何用赋税和进贡取悦征服者的铁蹄和弯刀,或是用勒索和敲诈填饱自己空空如也的私囊。原来王是只会居住在殿陛和廊柱之间的。

肉和血做成的希伯来人向盖比鲁勒高举权杖,要将他也变作王城的一份子,后者惊出了一身冷汗,伸手抹去了希伯来人额头间用想象书写的阿莱夫,希伯来人便立时烟消云散,成了盖比鲁勒脚边的面包屑和酒糟。

于是,盖比鲁勒再次找到了伊本·哈桑,索要他的想象所需的资金和材料;他取来黏土,取来异教神干结的血液,取来盐柱,取来被焚烧的牛、羊、驴、骆驼、侍女和王,取来硫磺和烟熏的火种,取来幼童、刀斧和祭具;保护人允诺了他,将萨拉戈察的半分用柴垛、稻草和动物油脂烧毁,冲天的燃焰有着日暮的颜色,将青银交织的天空染成炭火的余屑。

希伯来人做成了:他像是一切犹太人的父。他的发色灰白驳杂,面容却像耄耋之年的老者,眼角、额头、脸颊、下颌、脖颈、胸腹,周身的每一片肉和骨都有着形似迷宫的皱褶和纹路,据说没有人能够免于陷溺其中,梦中的声音告诉他,这代表指引和歧途;旅途和疲惫用泥土将他的肌肤涂满,每每踏出一步,便会从中落下足以参天的大树亟待生养的种子,有幼童乘着攀升的枝扶摇直上,梦中的声音告诉他,这代表富足和末路;他住在商路和旅路中,住在陆路和水路中,只有一头骆驼驮负他的帐篷、口粮、纸卷、坐毯和水,他邀请往来的行人和车队到他的凉亭中做客,为他们提供可口的无酵饼,这是素祭时所用的食物,梦中的声音告诉他,这象征着许诺和信仰;他使遇到的一切女子为他生育,又使遇到的一切孩童做他的子嗣,让他的后裔之数更胜过天上的繁星,梦中的声音说,这代表生息,却不代表昌盛。

最后,梦中的声音告诉他,希伯来人是先知,又或是假先知,凡夫俗子却并无大能去辨别个中的异同,要他睁眼去看。盖比鲁勒醒来,慌忙去寻找徘徊城外的希伯来人,恐惧他会将萨拉戈察变成又一座王的圣城,但迎接他的却是一顶不逾十尺的帐篷。九十九个拉比、穆斯林和犹太学者环坐在帐篷的边沿,一面舔舐指尖无酵饼的碎屑,一面聆听帐篷正中希伯来人的布道中掩藏的智慧;他们伸出双手欢迎盖比鲁勒的到来,亲吻他的面颊和胡须,为自己过往对他的否定和中伤表示深重的忏悔。于是所有的人都加入到了希伯来人的行列中;他们走过被伊本·哈桑焚毁过半的萨拉戈察,将希伯来人泥垢中的种子一一种植,使这里成为了较焚毁之前还要更为宏伟壮阔的城。希伯来人随后便去往了另外半分的城,去劝诫世人弃绝荒淫和堕行:他向哑子用手语传达在十三根立柱的行宫前乘凉的人脑海中的想法,教授麻风病人用止血带捆缚手臂和大腿的方法,买下白日做梦的人用大理石做成的桌布;人们看到,或是想象他与树木、微风和砂砾对话,并试图打断他,但也许希伯来人想象他打断了想要将他打断的人,于是人们只好闭上眼睛,假装注意不到希伯来人,假装听闻不到他的呼吁。后来,在一个夜里,希伯来人摇醒睡梦中的盖比鲁勒,要他带着自己珍视的一切逃离这半爿城市;他说,硫磺和火雨很快就会从天而降,要将半座城市夷作焦黑炙热的白地。原来先知是只会住在受选的人中间的。

盖比鲁勒惊出了一身冷汗,向希伯来人乞求慈悲;可希伯来人的子嗣太多太盛,使他早已忘记软下心肠是怎样的一种行径。于是,希伯来人就说,你还没有见到神,我又怎能离开你?盖比鲁勒只得闭上眼睛、堵住耳朵,设法抹去了希伯来人额头间用想象书写的阿莱夫,希伯来人便立时烟消云散,成了盖比鲁勒脚边的羊羔和炭火。他听到希伯来人说:他必杀我,我虽无指望,然而我在他面前还要辨明我所行的。

盖比鲁勒仍旧苦苦恳求着伊本·哈桑;而他的保护人也仍旧一次次地允诺了他。他造了手足、儿女、官员、商人、脚夫、娼妓,造了赤金、山铜、蓝宝石、红玉、孔雀石、琥珀、玉髓,但那仍然不是他在梦中见到的希伯来人;但那形象终究在他的脑海中一天比一天地来得清晰了。时而,他会怀疑自己所造的是否只是他的睡梦;或许并非是阿莱夫在他的梦中,而是他在阿莱夫的梦中。

但萨拉戈察的居民并不在乎这些。他们早已受够了伊本·哈桑对盖比鲁勒的纵容;他们厌倦了用亚麻布编织的楼阁、用羊皮纸和犊皮卷铺设的街道,厌倦了在住宅内洗浴的男女只要伸手就能摘到的熟透柿子,厌倦了公共浴场内错综复杂地排放着热气和白雾的管道,厌倦了苏醒之后发现自己身处耶路撒冷或是雅法。于是,在一个没有月亮的夜晚,几个曾是年轻人的老者握着从喜爱盖比鲁勒的铁匠炉中取来的匕首,他们的手腕有着硫磺的颜色,脸上的褶皱和老年斑中书写着往昔的集市上粟米和柴火的价格;伊本·哈桑没能预料到他们的到来,只好将自己的性命交到了他们的手中。

他们得手了;尽管他们迫不及待地想要将盖比鲁勒逐出萨拉戈察,但胜利者的尊严使他们的举手投足之间都流露着居高临下的优渥,于是他们叼起白象牙的烟斗,大度地为盖比鲁勒保留了向他的挚友兼保护人最后进行一次慰问的权利。这或许是因为他们还想再次阅读盖比鲁勒的诗作;原本的八十部如今已经成了灰烬,或是被无数只手翻阅过后的碎屑。然而盖比鲁勒留下的却只有喟叹;他已经不再写诗了。原本从他的唇齿和喀兰中源源不绝地倾泻而出的文墨和学识如今已然不知去向,只有起讫互异、不可理喻的狂言和乱语环伺在盖比鲁勒的左右;有心人将这些不知起始和结束的文句摘抄下来,用鸽子或是乌鸦的智慧彼此串联,再谎称是盖比鲁勒未能流传于世的诗作,一共编纂成了十八部。

盖比鲁勒最后还是离开了萨拉戈察;活人、牛、羊和骆驼在他的背后欢欣雀跃,用松香和油脂熬煮庆贺的胶浆。但这一切却都于他无碍;他想,他已经知晓了希伯来人究竟有着如何的样貌,吃怎样的面包和酒,又会如何在冒着夜雨狂奔的青年踏过的石板上留下足迹。他从满是饥饿和疲惫的旅途中取来泥土,从中拣去蝎子、蜥蜴和蚂蚁的尸体;他又从膏雨、穷人和乞丐的施舍中取来透明的水,从中拣去人的骨血;阿莱夫允诺了他,于是他将泥土和水混合成泥巴,有记写天命的黏板那样柔软,却又如晚餐侍奉的面包那般坚硬。

希伯来人就快要做成了;他不像是盖比鲁勒见过的任何一个人所具有的形貌,只比最初的人最后的体态多出仅止一根的肋骨;梦中的声音允诺了他。他没有面庞,梦中的声音赞许地说道;他没有衣装,梦中的声音赞许地说道;他没有贵贱,梦中的声音赞许地说道。盖比鲁勒知道,这就是他在乐园中见到的希伯来人;只要赋予他一个名字,他就能够回到乐园,因为希伯来人原就是住在乐园中的。

最后,梦中的声音最后一次地告诉了他希伯来人的名字。盖比鲁勒从微睡中惊醒,步履蹒跚地走向希伯来人,想要将躯体中最后的一口灵气吹入希伯来人的体内,然后跌倒在了仍是泥土的希伯来人脚下。

据说盖比鲁勒最后死在了巴伦西亚:人们在一个没有月亮的夜晚纷纷赶来,却鲜有哪怕一位拉比、穆斯林、犹太学者或是神秘学者拥有足够的勇气踏入他的居所,只好找到脚夫、农民、木匠、石工来为他们代劳;这些人或是斩钉截铁地坚称破落的茅屋中寓居的是千年不落的圣城耶路撒冷,或是言之凿凿地认定他们造访的地方就是有着天堂、伊甸、桃源、阿卡狄亚和伊利西昂别名的乐土,是他们梦想中的乌托邦;一方拿出泪痕从未干涸的哭墙泥砖佐证,另一方的手中却空空如也,因为乌托邦本来就是没有任何事物的地方。他们翻箱倒柜地游走在雕栏和画栋之间,却既没能找到王国和王冠外的尽头,也没能找到盖比鲁勒的尸体;只有屈指可数的几许头脑察觉到了地板和穹顶间所弥留的样貌中氤氲的意象,但他们却不敢言说。那是拥有约柜形状的地球上最后也是最初的人所应当具备的形貌;他汇集着露水、白月、泥土、大卫王的盾、正逆交垂的树、供奉着过去未来一切神祇的高台和神殿,是从第一个傍晚自盖比鲁勒双手的机巧伊始,至第二个傍晚于盖比鲁勒尸体的沉重结束,有圣油在他的额头书写九十九个名字的神所欠缺的真名。摩西·本·迈蒙说,梦中若是看不到述说话语的人,话语本身却又清晰可辨,这些言语便是神圣的,但盖比鲁勒却没能在希伯来人的梦中将自己的名字赋予他将要成为的希伯来人。睿智的头脑尽管看到了被盖比鲁勒尸体的重量损毁的希伯来人,却不敢对没能成为希伯来人的盖比鲁勒和没能成为盖比鲁勒的希伯来人之间的区别擅加评断;他们不敢妄言死去的究竟是盖比鲁勒,抑或是希伯来人,只好顾左右而言他,告诉世人是撰写了生命源泉的阿维斯布隆从阿莱夫中寻得了树的枝杈,而将追逐希伯来人的愚行悉数留给了马拉加人所罗门·本·犹大·伊本·盖比鲁勒,留给了他仅存于世的两部空洞的诗篇。
Comments: 0 :: View Comments

Posted By: TheFool @ 2017-08-08, 13:58

# (如何(用Python)写一个(Lisp)解释器)

- 作者:Peter Norvig
- 翻译及少量魔改:TheFool

这篇文章有两个目的:

1. 通用地介绍如何实现计算机语言的解释器。
2. 介绍如何利用Python实现Lisp方言Scheme的一个子集。

我将我的这门语言以及解释器称之为Lispy。数年之前,我演示了如何用Java和Common Lisp写Scheme解释器。这次我的目标是以一种尽可能简明的方式演示Alan Kay所谓的“[*Maxwell's Equations of Software*](http://www.righto.com/2008/07/maxwells-equations-of-software-examined.html).”

为什么这很重要? [Steve Yegge说过](http://steve-yegge.blogspot.com/2007/06/rich-programmer-food.html) :“若你不知道编译器(或解释器)是怎么工作的,那你就无从得知计算机的运转原理。”

## Scheme程序的语法和语义

一门语言的语法(syntax)指的是字母排列成正确表达式或声明的顺序;语义(semantics)则是这些表达式或声明的意义。例如在数学和许多编程语言之中,一加二的语法是“1 + 2”, 语义则是将加法运算符应用于数字1和2之上,得到结果3。我们将计算表达式的值称之为求值(evaluating);“1 + 2”求值得到结果3,我们将之记为“1 + 2” => 3。

Scheme的语法与你熟悉的大部分语言不同。例如:

```java
// Java
if (x.val() > 0) {
fn(A[i] + 1,
return new String[] {"one", "two"});
}
```

```lisp
;; Scheme
(if (> (val x) 0)
(fn (+ (aref A i) 1)
(quote (one two)))
```



Java有大量不同的语法约规(关键字、中置操作符、三种括号、操作符优先级、点、引号、逗号、分号等等),而Scheme的语法则简单很多:

- Scheme程序中只有表达式。表达式和声明之间并无区别。
- 数字(例如 1)和符号(例如 A)被称之为原子表达式(atomic expression);他们无法被拆分成更小的表达式。这部分和Java类似,但在Scheme中,诸如 + 和 > 这种操作符也被认为是符号(symbol),处理方式与A或是fn这种符号别无二致。
- 除此之外的一切都是列表表达式(list expression):以“(”为首,“)”为尾,中间包括着零个或更多表达式。列表的第一个元素决定了它的含义:
- 若第一个元素是关键字,例如(if ...),那这个列表是一个特殊形式(special form);特殊形式的意义取决于关键字。
- 若第一个元素并非关键字,例如(fn ...),那这个列表则是函数调用。


Scheme之美在于她的简洁性:整个语言由5个关键字和8个语法形式构成。相较之下,Python有33个关键字和110个语法形式,Java有50个关键字和133个语法形式。Scheme中的大量括号初看起来可能显得古怪陌生,但括号为Scheme提供了简洁性和一致性。(有些人开玩笑说Lisp的意思是“大量又蠢又烦的括号(Lots of Irritating Silly Parentheses)”;我觉得应该是“Lisp拥有纯净的语法(Lisp Is Syntactically Pure)。”)

在这篇文章中我们会涉及到Scheme中所有的关键点(除了一些琐碎的细节)。但罗马城不是一天建成的,我们需要分两步。首先,我们会定义一个相对简单的语言,再在它的基础上定义一个几近完整的Scheme语言。

## 1号语言:Lispy计算器

Lispy计算器是Scheme语言的一个子集,它只包含五种语法形式(两种原子,两个特殊形式,以及过程调用)。只要你习惯了Lisp前置运算符的古怪语法,你就能利用Lispy计算器干一般计算器的活。你还能干一般计算器干不了的活:使用"if"表达式进行条件判断以及定义新的变量。我们来举个例子,以下是一个计算圆面积的程序,圆的半径为10,计算公式为πr^2:

```lisp
(begin
(define r 10)
(* pi (* r r)))
```

下面这张表列举了所有可用的语法形式:

| 表达式(expression) | 语法(syntax) | 语义(sematics)及范例 |
| ------------------------ | ---------------------- | ---------------------------------------- |
| 变量引用(variable reference) | *var* | 该符号被认为是变量名;它的值是变量的值。范例:r => 10 (假设我们之前将r定义为10) |
| 字面常量(constant literal) | *number* | 一个数字(number)求值得到它自身。范例:12 => 12 或 -3.45e+6 => -3.45e+6 |
| 条件(conditional) | (if *test conseq alt*) | 对*test*进行求值;如果结果为真,对*conseq*进行求值并返回结果;否则对*alt*求值并返回结果。范例:(if (> 10 20) (+ 1 1) (+ 3 3)) ⇒ 6 |
| 定义(definition) | (define *var exp*) | 定义一个新的变量,将*var*的值定义为*exp*求值得到的结果。范例:(define r 10) |
| 过程调用(procedure call) | *(proc arg...)* | 如果*proc*不是if, define或quote其中之一,那它就被认为是一个过程(procedure)。对*proc*和所有的*args*求值,然后将proc过程应用于所有的args之上。范例:(sqrt (* 2 8)) => 4.0 |

在表中“语法”一列中,*var*必须为一个符号,*number*必须为一个整数或浮点数,其他斜体字可以是任何表达式。其中的“*arg...*”表示零个或更多个"*arg*"。在“真正”的Scheme中,begin是一个语法关键字,但在这个Scheme实现中,它只是一个普通的函数。

## 语言解释器做些什么?

一个计算机语言的解释器分为两部分:

1. **分析(parse)**:解释器的分析部分将程序以一串字符的形式读入,依照语法规则(*syntactic rules*)验证其正确性并将程序转换成一种内部表达形式。在一个简单的解释器中,内部表达形式是一个树形结构,人们一般将其称之为*抽象语法树 (abstract syntax tree)*。抽象语法树的结构和程序中层层嵌套的声明及表达式非常相近,几乎可以说是完美对应。在编译器之中往往存在多个内部表达形式,一开始先转换成抽象语法树,随后再转换成可以直接被计算器执行的指令序列。Lispy的语法分析器由parse函数实现。
2. **执行(execution)**:内部表达形式被按照语言的语法规则进行处理,以此来进行计算。Lispy的执行函数叫做eval (注意,这会覆盖Python的同名内置函数)。

以下是对解释器工作流程的一个简单的演示:

```
程序 ---> [parse] ---> 抽象语法树 ---> [eval] ---> 结果
```

下面这个例子则展示了我们希望eval和parse实现的功能:

```
>> program = "(begin (define r 10) (* pi (* r r)))"

>>> parse(program)
['begin', ['define', 'r', 10], ['*', 'pi', ['*', 'r', 'r']]]

>>> eval(parse(program))
314.1592653589793
```

## 分析:parse, tokenize 以及 read_from_tokens

依照传统,分析被分为两个部分:

1. 词法分析(lexical analysis):在这一部分中,输入的字符串被拆分为一系列的token。
2. 语法分析(syntactic analysis):将token汇编为抽象语法树。

Lispy token们由括号,符号和数字组成。由许多用来进行词法分析的工具(例如Mike Lesk和Eric Schmidt写的lex),但我们只需要用到一个十分简单的工具:Python的str.split函数。tokenize函数接受一个字符串,并在括号周围加上空格;随后调用str.split来得到一个由token组成的列表:

```python
def tokenize(chars):
"将字符串转换成由token组成的列表。"
return chars.replace('(', ' ( ').replace(')', ' ) ').split()
```

```
>>> program = "(begin (define r 10) (* pi (* r r)))"
>>> tokenize(program)
['(', 'begin', '(', 'define', 'r', '10', ')', '(', '*', 'pi', '(', '*', 'r', 'r', ')', ')', ')']
```



我们的parse函数接收一个字符串作为输入,然后调用tokenize函数获得一个由token组成的列表,再调用read_from_tokens来将token列表汇编成抽象语法树。read_from_token函数会查看第一个token,如果是“)”,那就报出一个语法错误。如果是“(”,那我们就开始构建一个由子表达式组成的列表,直到匹配到对应的“)”。所有非括号的token必须是符号或者数字。我们会让Python来识别它们之间的区别:对任何一个非括号token,先尝试将之转为整数,若失败则尝试转为浮点数,若还是失败,则转为符号。下边是parser的代码:

```python
def parse(program):
"从字符串中读取Scheme表达式"
return read_from_tokens(tokenize(program))

def read_from_tokens(tokens):
"从一串token之中读取表达式"
if len(tokens) == 0:
raise SyntaxError('unexpected EOF while reading')
token = tokens.pop(0)
if '(' == token:
L = []
while tokens[0] != ')':
L.append(read_from_tokens(tokens))
tokens.pop(0) # pop off ')'
return L
elif ')' == token:
raise SyntaxError('unexpected )')
else:
return atom(token)

def atom(token):
"数字转为对应的Python数字,其余的转为符号"
try: return int(token)
except ValueError:
try: return float(token)
except ValueError:
return Symbol(token)
```

parse函数的工作方式如下:

```
>>> program = "(begin (define r 10) (* pi (* r r)))"

>>> parse(program)
['begin', ['define', 'r', 10], ['*', 'pi', ['*', 'r', 'r']]]
```

我们还需要决定一下各种Scheme对象在Python中的表示方法:

```python
Symbol = str # Scheme符号由Python str表示
List = list # Scheme列表由Python list表示
Number = (int, float) # Scheme数字由Python的整数或浮点数表示
```

好了!定义eval的准备工作基本都做好了。但我们需要先了解更多的概念。

## 环境(Environments)

eval函数接受两个参数:一个我们想要求值的表达式x,还有一个环境env,x将在这个环境中被求值。*环境*指的是变量名和他们的值之间的映射。eval默认会使用全局环境(global environment)进行求值,全局环境包含着一系列的标准函数(比如sqrt, max和 * 这类操作符)。这一环境可以用用户定义的变量拓展,语法为 (*define variable value*)。我们可以用Python自带的字典来实现环境,字典中的键对为{变量: 值}的形式。

```python
import math
import operator as op

Env = dict # 环境是{变量: 值}之间的映射

def standard_env():
"一个包含着一些Scheme标准过程的环境。"
env = Env()
env.update(vars(math)) # sin, cos, sqrt, pi, ...
env.update({
'+':op.add, '-':op.sub, '*':op.mul, '/':op.div,
'>':op.gt, '<':op.lt, '>=':op.ge, '<=':op.le, '=':op.eq,
'abs': abs,
'append': op.add,
'apply': apply,
'begin': lambda *x: x[-1],
'car': lambda x: x[0],
'cdr': lambda x: x[1:],
'cons': lambda x,y: [x] + y,
'eq?': op.is_,
'equal?': op.eq,
'length': len,
'list': lambda *x: list(x),
'list?': lambda x: isinstance(x,list),
'map': map,
'max': max,
'min': min,
'not': op.not_,
'null?': lambda x: x == [],
'number?': lambda x: isinstance(x, Number),
'procedure?': callable,
'round': round,
'symbol?': lambda x: isinstance(x, Symbol),
})
return env

global_env = standard_env()
```

## 求值:eval

现在,我们已经做好了实现eval函数的准备。来让我们重新看一遍Lispy计算器的语法形式表以加深一下记忆:

| 表达式(expression) | 语法(syntax) | 语义(sematics)及范例 |
| ------------------------ | ---------------------- | ---------------------------------------- |
| 变量引用(variable reference) | *var* | 该符号被认为是变量名;它的值是变量的值。范例:r => 10 (假设我们之前将r定义为10) |
| 字面常量(constant literal) | *number* | 一个数字(number)求值得到它自身。范例:12 => 12 或 -3.45e+6 => -3.45e+6 |
| 条件(conditional) | (if *test conseq alt*) | 对*test*进行求值;如果结果为真,对*conseq*进行求值并返回结果;否则对*alt*求值并返回结果。范例:(if (> 10 20) (+ 1 1) (+ 3 3)) ⇒ 6 |
| 定义(definition) | (define *var exp*) | 定义一个新的变量,将*var*的值定义为*exp*求值得到的结果。范例:(define r 10) |
| 过程调用(procedure call) | *(proc arg...)* | 如果*proc*不是if, define或quote其中之一,那它就被认为是一个过程(procedure)。对*proc*和所有的*args*求值,然后将proc过程应用于所有的args之上。范例:(sqrt (* 2 8)) => 4.0 |

来和eval的代码对比一下,是不是觉得很像?

```python
def eval(x, env=global_env):
"对在某个环境下的表达式进行求值"
if isinstance(x, Symbol): # 变量引用
return env[x]
elif not isinstance(x, List): # 字面常量
return x
elif x[0] == 'if': # 条件
(_, test, conseq, alt) = x
exp = (conseq if eval(test, env) else alt)
return eval(exp, env)
elif x[0] == 'define': # 定义
(_, var, exp) = x
env[var] = eval(exp, env)
else: # 过程调用
proc = eval(x[0], env)
args = [eval(arg, env) for arg in x[1:]]
return proc(*args)
```

搞定!来试试吧:

```
>>> eval(parse("(define r 10)"))
>>> eval(parse("(* pi (* r r))"))
314.1592653589793
```

## 交互:来做一个REPL

一直打“eval(parse(...))”的话即便是耐心再好的人也会嫌烦。Lisp最伟大的遗产之一就是引入了read-eval-print loop(读取-求值-输出 循环,缩写为REPL,译者注)。运用REPL,程序员们可以即时地读取、求值、输出,而不用麻烦地先编译再运行。我们先定义一个名为repl的函数以实现这个功能,然后再定义一个schemestr函数来输出Scheme对象的字符串表示。

```python
def repl(prompt='lis.py> '):
"REPL的懒人实现。"
while True:
val = eval(parse(raw_input(prompt)))
if val is not None:
print(schemestr(val))

def schemestr(exp):
"将一个Python对象转换回可以被Scheme读取的字符串。"
if isinstance(exp, List):
return '(' + ' '.join(map(schemestr, exp)) + ')'
else:
return str(exp)
```

老样子,做完以后来试试:

```
>>> repl()
lis.py> (define r 10)
lis.py> (* pi (* r r))
314.159265359
lis.py> (if (> (* 11 11) 120) (* 7 6) oops)
42
lis.py>
```
Comments: 2 :: View Comments

Posted By: Kiw @ 2016-12-20, 13:03
第一次翻译文章,有很多不熟练的地方,请多指教。原文在此

雾号
THE FOG HORN
雷·布莱伯利
Ray Bradbury

在那冰冷海水中,远离陆地的地方,我们夜夜等待大雾的降临。而后雾气到来,我们便给那黄铜的机械上油,然后点亮石塔上的雾灯。如同灰霾天空中的两只鸟,麦克邓恩和我打出灯光,红光,白光,又是红光,来指引孤单的航船。如果他们看不见我们的灯光,我们还能发出声响。我们的雾号的深厚鸣响能把浓雾震成碎片,能让海鸥像一沓纸牌一样惊散,能让波浪高高翻腾,涌出白沫。

“真是孤单的生活啊。不过你已经习惯了,不是吗?”麦克邓恩问。

“是啊,”我说,“你真是个话痨,感谢上帝。”

“呃,明天就轮到你上岸了,”他笑着说,“和姑娘们跳跳舞,喝喝酒。”

“麦克邓恩,我把你一个人留在这的时候,你都在想什么?”

“我在想大海的奥秘。”麦克邓恩点燃烟斗。此时是十一月某个寒冷的夜晚,七点一刻,暖气开着,雾灯曳尾发向二百个方向,雾号在塔上高声鸣叫。远离海岸几百英里的地方都没有城镇,只有公路,孤零零地从死城延伸到海边,几乎没有车辆;还有两公里海港,也几乎没有船只。

“大海的奥秘,”麦克邓恩若有所思,“你知道吗,海洋是世界上最大的雪花。它翻滚、扩展成几千种形状和颜色,两两都不相同。多奇怪啊。某个晚上,那是几年前了,我一个人在这,海里所有的鱼全在这里浮上来了。有什么东西让它们游进了海湾,然后停在这,瑟瑟发抖地仰视着灯塔的光,看着光在它们上方变红,变白,变红,变白,我因此看见了它们奇怪的眼睛。我周身冰冷。它们像是大孔雀的尾羽,游来游去,直到午夜。然后几乎悄无声息地,它们全都走了。几百万只全都走了。我想也许在某种程度上,它们游过重洋是为了来此朝圣。多奇怪啊。不过想想灯塔在它们眼里是什么样,高出海面七十英尺,神光四射,又像怪物一样鸣叫。那些鱼,它们再也没回来,不过你不觉得它们那时以为自己目睹了上帝的降临吗?”

我打了个冷战。我看着外面的大海,它像灰色的长麻布一样,延展到无限远方的无有之地。

“哦,大海无所不包,”麦克邓恩眨着眼,紧张地抽着烟斗。他整整一天都很紧张,也没有说为什么。“对于我们的引擎和那些所谓的潜艇来说,得需要一万个世纪才能真的踏足于那片沉没的陆地,然后在那仙境一样的地方,感受到真正的恐惧。想想吧,那里还停留在史前三十万年前呢。当我们吹号行军,入侵彼此的国家,砍下彼此的脑袋的时候,它们就住在水下十二英里的又深又冷的地方,那里的历史和彗星的胡子一样老。”

“是啊,一片古老的土地。”

“跟我来,我一直有件特别的事情想告诉你。”

我们登上八十级台阶,边说边走,不紧不慢。在顶层,麦克邓恩关上房间里的灯,于是玻璃上的反光消去了。塔上的大灯嗡嗡作响,在上过油的槽里轻松转动着。雾号持续鸣响,十五秒一次。

“听起来真像个动物,不是吗?”麦克邓恩自顾自点了点头,“一个在夜间嚎叫的孤单巨兽。栖身于千万年的时光悬崖之上,呼唤着深渊:我在这,我在这,我在这啊。然后深渊给以回应,是的,它们回应了。你在这已经三个月了,乔尼,所以我最好让你做好准备。每年大约这个时候,”他说,研究着黑暗和浓雾,“都会有东西来灯塔这里。”

“就是你说的那群鱼?”

“不,这次是不一样的东西。我一直尽量拖延告诉你的时机,免得你认为我是疯子。但我只能拖到今晚了,因为如果我去年至今没标错日历,那么今晚那东西就会来。我不再具体说了,你需要自己亲眼看。就坐在这里看。如果你乐意,明天就可以卷铺盖走人,搭一艘汽船回到内陆的皮艇港口,然后开着你的车返回腹地的某个小镇,彻夜燃灯。我不会质问或者责备你。这件事至今已经发生了三年了,而这次是唯一一次有人陪我一起证实它。你就等着看吧。”

半个钟头在我们的几声低语中流逝。当我们都等得不耐烦的时候,麦克邓恩开始给我描述他的一些想法。他有关于雾号本身的若干理论。

“很久很久以前,有个人独自走在阴冷无光的海岸上,他在潮声中停步。‘我们需要一个声音来横跨洋面,去警告航船。我要做出一个。我要让那声音,像长夜中在你身畔的一张床,像你推开的门后的一间空房,像秋日里没有叶子的树木。那声音,像鸣叫着的南飞的鸟,像十一月的风,像冷硬海滩上的大洋。我要让那声音无比孤寂,以至于没人会错过它,让每个听到此声的人都在灵魂深处哭泣,向着遥远城镇里闻听此声的人哭泣。我要自己做出这样的声音和装置,人们将称它为雾号,每个听到它的人都会体悟到人生的短暂和永恒的悲哀。’”

雾号鸣叫起来。

“这个故事是我编的,”麦克邓恩轻轻地说,“试图解释为什么那东西每年都要回到灯塔这里。雾号在呼唤它,我想,于是它就来了……”

“但是——”我说。

“嘘!”麦克邓恩说,“看那儿!”他向着深渊点了点头。

有什么东西正向灯塔游来。

正如我所说,这是个凄冷的夜晚。高高的灯塔不胜寒冷,雾灯照来照去,雾号声声鸣叫,穿透层层迷雾。我看不远也看不清,但我知道深海正向着夜间的陆地流淌而来,平稳又寂静,带着湿泥的灰色。我们两人,孤单地待在灯塔之上。而后就在那里,远远的,出现一缕涟漪,然后是一层波浪,翻滚着,涌起白沫。再然后,冰冷的海面上探出一颗头,一颗巨大的头,有着深深的颜色和一双巨眼,然后是脖颈。再然后出来的——不是身体——而是越来越长的脖颈!在修长美丽的脖子上面,巨头探出水面四十英尺。直到那时身体才浮上来,仿佛小小的、覆盖着蚌壳和虾类的黑珊瑚礁,从地表之下浮现。它的尾巴轻摇了一下。从头顶到尾尖,我估计这怪兽大概有九十到一百英尺长。

我不知道我说了什么。但我的确说了点什么。

“冷静,孩子,冷静,”麦克邓恩轻声说。

“这不是真的!”我说。

“不,乔尼,我们才不是真的。这就像一千万年前一样,什么也没有改变。只有我们和这片陆地改变了,我们变得不再真实了。我们!”

它仿佛一个威严的王者,款款游动在遥远的冰水里。雾气笼罩过去,短时间地遮住它的身形。怪兽的一只眼睛发现了我们的大灯,光亮反射过来,红,白,红,白,宛若一个高处的天线,发射着原始的电码。这怪兽就像它缓缓游过的那片雾一样安静无声。

“这肯定是某种恐龙!”我蹲下来,抓住楼梯扶手。

“是的,一个种群里的一只。”

“但恐龙灭绝了!”

“不,它们只是藏进了深渊,深深的,深深的,深深的深渊。这是怎么样的一个词啊,乔尼,不是一个简单的词,它表示得太多了:‘深渊’。这个词,已经涵盖了世界上所有的寒冷、黑暗和深邃。”

“我们该怎么办?”

“该怎么办?我们有我们的本职,我们不能离开。再说了,坐再好的船回岸,也不如我们在这里呆着安全。那东西大得像个驱逐舰,也像驱逐舰一样敏捷。”

“但是这里,它为什么来这里?”

下一刻,我就得到了答案。

雾号吹响了。

怪兽回应了。

一声长啸,跨越了百万年的重洋与迷雾。那啸声无比痛苦和孤独,在我的脑海和身体中回颤。那怪兽向着灯塔吼叫。雾号吹响了。那怪兽再度吼叫。雾号吹响了。巨兽张开尖牙密布的大嘴,它发出的声音,是和雾号一样的声音。孤寂,浩然,遥远。那声音来自寥寥之地,茫茫之海,凄凄之夜,茕茕之心。就是那样的声音。

“现在,”麦克邓恩轻轻说道, “你知道它为什么要来这了?”

我点了点头。

“年复一年,乔尼,这可怜的怪兽就潜藏在千里之外的海洋,也许在二十英里深的海底,等待着,也许已经等待了一百万年,孤身一人。想想吧,一百万年,你等得了这么久吗?也许它是同类生物的最后一个。我十分确信这个猜想。总之,岸上的人建起了这座灯塔,那是五年前的事。他们安上了雾号,又把它吹响——响彻那个你安睡的、充满了海底回忆的世界,那里曾经有成千上万个你的同类,但是现在你孑然一身,全然孤单地生活在这个不属于你的世界,这个你不得不躲藏的世界。”

“但是那雾号的声音来了又去,来了又去,你在海底深渊的泥泞中翻腾,你的眼睛大大地张开,仿佛巨大的相机镜头;你动起来,慢慢地,慢慢地,因为万吨海水压在你的肩上,无比沉重。但雾号声穿透了上千英里的海水,微弱却又熟悉,你腹中的火炉燃烧起来,你向上浮动,慢慢地,慢慢地。你以鳕鱼和成群的水母充饥,在秋月里一直缓慢上浮,游过薄雾初升的九月,游过雾气渐浓、雾号呼召的十月,然后,十一月底的时候,经过许久的减压、每小时几尺的缓速,你离水面已经很近了,而且你还活着。你必须慢慢来——如果你一下子浮上来,你会爆炸。所以你用了整整三个月浮上来,又用去若干时日,穿过冷水,游向灯塔。然后你就到这里了,就在外面,在这深夜里,乔尼,这创世以来最大最大的怪兽。灯塔呼唤着你,它有和你一样探出水面的长脖子,和你一样的身体,而且最重要的,还有和你一样的声音。你现在明白了吗,乔尼, 明白了吗?”

雾号吹响了。

怪兽回应了。

我全看见了,我全明白了——百万年的独自等待,只为等到一个应该回来却再没回来的人。百万年里,被隔离在海底,承受着时间的荒谬,与此同时,天空中的翼龙一扫而光,大陆上的沼地相继干涸,树懒和剑齿虎一时风光,复又沉进沥青坑里,人类像白蚁一样奔走在群山上。

雾号吹响了。

“去年,”麦克邓恩说,“那个怪兽游了一圈又一圈,一圈又一圈,整整一宿。它不愿游近,它很困惑,或者也可能是恐惧。当然,还有一路游过来积攒的些许恼怒。但是第二天,出乎意料地,雾散了,阳光灿烂,碧空如画。那怪兽在热气和寂静中游去了,再也没回来。我猜这一年里它一直挂记着这灯塔,一直一直想着它。”

怪兽离这里只有几百码远了,它和雾号互相呼应着。灯塔的探照灯打在它的眼睛里,映出火与冰,火与冰。

“这就是生活,”麦克邓恩说,“总有人在等一个永远不会回来的人。总有人爱一个东西远胜它爱他。然后过不了太久你就想毁掉它,于是它便再也无法伤害你。”

怪兽冲向了灯塔。

雾号吹响了。

“让我们看看会发生什么,”麦克邓恩说。

他关上了雾号。

接下来的一分钟是如此的死寂,以至于我们能听见玻璃瞭望窗里的心跳声,能听见探照灯在机油里的缓慢转动声。

怪兽停住了,冻结在原地。它大灯笼一样的眼睛眨了一下。它的大嘴洞开。它低声咕隆着,好像一座火山。它左右转动着脑袋,似乎在找寻那消失在浓雾里的声音。它凝视着灯塔。它再次咕隆起来。然后它的眼睛燃起火焰。它扬起身体,拍打着水面,向着灯塔冲过来,双眼映透着怒火的折磨。

“麦克邓恩,”我大叫,“把雾号打开!”

麦克邓恩笨拙地扳动着开关。但即使他打开了开关,怪兽还是高高地直立起来。我匆匆瞥见了它巨大的爪子——鱼皮一样的网蹼在指状突起间闪闪发光——挠动着灯塔。在它那无比痛苦的面庞上,硕大的右眼在我面前闪动,仿佛一口大锅,让我几乎尖叫着陷落其中。灯塔颤动起来。雾号长鸣,巨兽长啸。它紧抓着灯塔,咬碎了瞭望窗,玻璃碎片纷纷落在我们身上。

麦克邓恩抓着我的胳膊。“快下楼!”

灯塔摇晃着,颤动着,几近崩塌。雾号和怪兽齐声呼叫。我们连滚带爬地奔下台阶。“快!”

我们刚到底下,灯塔便向我们倾塌下来。我们弓身跑下台阶,钻进小小的石室。碎石纷纷如雨,不住刮擦震颤;雾号声戛然而止。巨兽扑上灯塔。塔倒了。麦克邓恩和我跪伏在一起,紧紧握住手,在这世界崩裂之时。

一切全都结束了,四围只有黑暗,和海水拍打在石头上的声音。

还有另一个声音。

“你听,”麦克邓恩轻声说,“你听。”

我们等了一会,然后我渐渐听到了。先是巨大的抽进空气的声音,随之而来的是巨兽的哀声,迷惘和孤寂,层层叠叠扑向我们,漫过我们,它令人作呕的腥臭充斥在空气里,就在我们藏身处的一层石墙之外。它喘息着,它哭喊着。高塔不见了。灯光不见了。那跨越百万年呼唤它的声音也不见了。怪兽张开大嘴,发出震耳欲聋的声音。那是雾号的声音,一声又一声。于是在这深夜里,那些远处的航船,看不到灯光,看不到任何东西,却能听见这声音。他们一定会想:这就是了,孤寂的声音,寂寞湾的雾号。好极了。我们已经过了海岬了。

后半夜匆匆而过。

第二天下午,救援队把我们从碎石遍地的地下室里救出来。外面艳阳高照。

“它倒了,就是这样,”麦克邓恩沉痛地说,“几个巨浪拍过来,它就这样塌了。”他掐了掐我的胳膊。

没有什么特别的迹象。大海平静,天空湛蓝。只是,有一大片绿色的东西覆盖着倒塌的塔基和海岸,散发着海藻的恶臭。蝇群嗡嗡飞动。海浪把岸滩冲洗得一干二净。

第二年,他们建了新的灯塔,但那时我已经有了一个在镇里的工作,一个妻子,一间不错的暖和的小屋,在秋夜里燃着黄色的灯火,大门紧锁,烟囱冒着白烟。至于麦克邓恩,他成为了新灯塔的主人,灯塔也按他的指示,由钢筋水泥建成。“以防万一”,他说。

新的灯塔于十一月建成。我在一个傍晚独自开车过去,把车停好,遥望着灰色的海水,听着新的雾号的鸣响,每分钟一次,两次,三次,四次,孤独地传向远方。

至于那怪兽?

它再也没回来。

“它离开了,”麦克邓恩说,“它回到了深渊。它知道了不能过分地去爱任何东西。它回到了最深的深渊,再等上一百万年。啊,可怜的东西!在那等待着,等待着,目睹着人类在这可悲的星球上诞生又灭绝,等待着,等待着。”

我坐在车里,聆听着。我看不见矗立在寂寞湾的灯塔和雾灯。我只能听见雾号,雾号,雾号。它听起来像是怪兽的呼唤。

我坐在那里,希望能开口说些什么。
Comments: 7 :: View Comments

Posted By: sandpiper @ 2016-10-10, 16:38
作者:Michael J. Sullivan
翻译:沙鹬

这里是作者的官方博客:http://riyria.blogspot.com/

dev.gif 这是一部奇幻小说!
前些日子发现这部书之后竟然久违地手不释卷……尽管目前只读到第二本,然而在我看来哪怕只有一卷也仍然是相当不错的作品,所以发现它在国内这么默默无闻的时候还真的让我有点意外。既然如此,我索性做些翻译也是好的,所以请允许我开这么个深坑……关于这方面,如果有不当之处,还请不吝赐教!

说到书的内容……其实我很想做些概览性的介绍,但又觉得这会破坏阅读体验(总是如此),所以贴出这一卷的书头,权作介绍之用:

他们杀了国王。
他们找来两个人顶罪。
他们惹错人了。

————————————————

第一章:遭窃的信件

I.

黑暗中,哈德良什么都看不真切,但却听得到他们的动静——枝杈的摩擦声,叶片的踩踏声,野草的摇曳声。他们不止一个,更不止三个,都在逐渐地围拢过来。

“全都不许动,”黑影中,一个粗犷的声音命令道。“弓箭已经瞄准你们的背啦,你们要是敢跑,就把你们从鞍子里放倒。”说话的人仍然藏在树阴底下,只能从光秃秃的树枝中隐约看到他模糊的人影。“我们要给你们的行李减减负,不会动刀动枪。照我说的做,就能保住小命,如若不然,我们就要连命一起拿啦。”

哈德良腹部一沉,意识到这是他的疏忽。他瞥了一眼旁边的罗伊斯,他驾着那匹脏兮兮的灰色母马,戴着兜帽,看不见脸。他的朋友垂着脑袋,轻轻地摇着头。哈德良不用看都知道他现在是什么表情。

“不好意思啦,”他说道。

罗伊斯没有说话,仍是不住地摇头。

挡住他们去路的是一堵树墙,都是些新砍下来的灌木,背后是一条空无一人的大道,沿途洒满了月光。雾气在凹坑和沟壑间积成水气,还有一条不知何处的细流在岩石上流淌。他们如今位于森林深处的南方古道,周遭长满了橡树和梣树,细长的枝条直追道路,和着寒冷的秋风沙沙作响。这里距离任何村镇只怕都有足足一天的路程,哈德良的印象中,也已有数个小时没有见过任何农庄了。他们形单影只,还是在荒郊野外——连尸体都不会让人发现的荒郊野外。

树叶的踩踏声愈发喧闹,直至最后一名盗贼也踏入了月光的映衬中。哈德良数了数,男人有四个,他们都没刮胡子,手中握着利剑。他们衣着粗陋,或是皮革,或是羊毛,悉数褪色、破旧、肮脏。除却他们之外,还有一个姑娘引弓搭箭,作瞄准状。她穿着长裤和靴子,打扮和其他人别无二致,头发乱成一团。每一个人都是一身斑驳的泥点,仿佛他们都是刚从土坑中睡醒。

“这俩人看上去兜里没几个子儿,”一个扁鼻子的男人说道。他是这伙人中个子最大的,比哈德良还要高上一两寸,是个壮实的糙汉,脖子粗,巴掌大。他的下嘴唇裂了口,似乎曾跟他的鼻子被同时打烂。

“但他们有一大堆装备咧,”姑娘说道,她的声音让他很是意外。她很年轻,而且——尽管很脏——很可爱,长着一张娃娃脸,但她的语调却是咄咄逼人,听来甚至有些恶毒。“看看他们装了多少东西。要那么多绳子干什么?”

哈德良不太确定她是在问自己,还是在问她的同伙。但不论如何,他都不打算回答。他本打算藉此说笑一番,但她不像是会被几句恭维和一两个微笑打动的类型。更何况,她还有支箭正对着他,她的胳膊看上去也已经开始有些疲惫。

“我要这伙计背上的大剑,”扁鼻子说道。“看着正合我的尺寸。”

“我要他的另外两把。”说话的人脸上有一道疤,将他的面部斜着分成了两块,从鼻梁一直朝上,恰好保住了他的眼睛。

姑娘把手里的箭矢对准了罗伊斯。“我要小个子的斗篷。我披这种黑斗篷会很好看。”

离哈德良最近的男人看上去最为年长,他眼窝深陷,皮肤是太阳晒成的古铜色。他上前一步,朝着哈德良的马儿伸手,一把抓住了马嚼子。“你们小心点喽。我们在这条路上杀了不少人啦。都是些不听话的傻冒儿。你们不傻,是吧?”

哈德良摇了摇头。

“好。现在放下武器,”盗贼说道。“然后下马。”

“罗伊斯,你的意见呢?”哈德良问道。“我们给他们送几个钱,这样不会有人受伤。”

罗伊斯看了过来,兜帽下的眼神引人胆寒。

“说说而已嘛,我们不想惹麻烦,对不对?”

“你哪想听我的意见,”罗伊斯说道。

“你又要倔起来了。”

沉默。

哈德良摇摇头,叹了口气。“你为什么总要把事情搞得这么难办?他们未必是坏人啊——就是没有钱嘛。你知道的,他们也是各取所需,要买面包供养他们的家人。你还吝啬这点钱吗?冬天就快来了,日子不好过啊。”他冲着盗贼们点了点头。“是吧?”

“我没家人要喂,”扁鼻子回道。“钱都拿去喝酒啦。”

“你真不配合,”哈德良说道。

“我配合你干嘛。你们俩人要么照做,要么就吃刀子。”他从腰间拔出一把长长的匕首,在手里的剑刃上磨得霍霍作响,强调着他的观点。

凄嚎的寒风掠过树林,引得枝条摇曳不停,抖落更多的树叶。金红色的叶片打着圈儿飘落,又随着劲吹的风去往了狭窄的道路。黑暗中,听得到有不知何处的猫头鹰在嚣叫。

“我们把钱分你一半,你看如何?我的那一半。这样你们也不至于损失太多。”

“我们不要一半,”拽着哈德良马儿的男人说道。“我们全要,连马也要。”

“等一下。马也要?拿几个钱还好说,偷马?你们要是被人抓住,会给吊死的。你也知道,我们一到城里,就会立刻上报。”

“你们从北边来,是么?”

“不错,昨天从梅德福特出发。”

拽马的男人点了点头。哈德良注意到他的脖子上有一块小小的红色刺青。“你看,问题就在这儿。”他的表情柔和了下来,露出一副同情的神色,然而却不过是让他显得更加吓人。“你们说不定是在去康诺拉的路上——好地方。都是店啊,都是漂漂亮亮的有钱人,而且都是生意,所以我们在这条路上就逮到了好些人,载着这样那样的好多东西,要去卖给那些有钱人。但我猜你们没去过南边,对么?北边的梅伦加尔,有安瑞思国王派兵在大路上巡逻,可麻烦啦。但在这儿,沃瑞克里,就不是那么一回事喽。”

扁鼻子凑上前来,端详着哈德良背上的大剑。

“你想说盗窃是合法的?”

“哪能呢,但埃塞莱德国王住在阿奎斯塔,那可真是远在天边哇。”

“不还有詹德维克伯爵么?不该由他替国王管理这些土地么?”

“阿切·巴伦丁?”一提到他的名字,其他的盗贼便笑出声来。“阿切才他妈的没心思管屁民的事儿,他忙着烦恼今天穿啥咧。”男人咧嘴笑道,露出一口歪歪斜斜的黄牙。“知道了就赶紧给我把剑扔了下马。然后嘛,你们大可以走到巴伦丁城堡去,敲敲老阿切的门儿,看看他会做些啥吧。”又是一阵笑声。“现在么,除非你们觉得这是最好的葬身之地——不然就赶紧照我说的做。”

“你是对的,罗伊斯,”哈德良说道,语气中透着放弃。他解开斗篷,铺在了鞍子后面。“我们是不该走大路,但老实说——我们现在可是在荒郊野外。能有多大几率碰上这种事儿?”

“就眼下被人抢劫的情况来说——我看还挺高的。”

“有那么点儿讽刺——黎伊雅被人抢啦。都快赶上好笑的程度了。”

“这不好笑。”

“你说黎伊雅?”拽着哈德良马儿的男人问道。

哈德良点了点头,除下了自己的手套,塞进了腰带里。

男人松开了他的马,向后退去。

“怎么着,威尔?”姑娘问道。“黎伊雅是啥?”

“梅伦加尔里有一对儿伙计这么称呼自己。”他朝着其他人看去,略略地放低了声音。“我在那边儿有人,记得么?他们说这俩人管自己叫黎伊雅,在梅德福特做事,还说若是我碰上他们,一定要离他们远远的。”

“那你现在觉得该怎么搞,威尔?”刀疤脸问道。

“我觉得我们最好清开树丛,让他们过去。”

“啥?凭什么?我们五个人,他们才两个,”扁鼻子指明道。

“但他们是黎伊雅。”

“那又怎地?”

“我在北边的同僚——他们不是傻子,而且他们叫所有人都不要对这两人动手。我这些同僚可不是怂蛋。如果他们说不要招惹,那肯定有他们的理由。”

扁鼻子瞪起了眼睛,端详着他们。“好吧,但你怎么知道这两人就是他们?就凭一两句话?”

威尔朝着哈德良点了点头。“你看看他带着的剑。要是有人带着一把——他也许会使,也许不会。要是有人带着两把——他未必真的懂剑,但他想让别人以为他懂。但要是有人带着三把——那可是沉家伙。没人会背着这么多铁疙瘩闲晃,除非他靠这些家伙吃饭。”

哈德良从左右两侧拔出双剑,动作优雅。他反手握住其中一把,让它贴着手掌转了一圈。“这把我得换个柄。又开始磨损了。”他看向威尔。“我们继续么?我觉得你们是要来抢我们呢。”

盗贼们面面相觑,不知如何是好。

“威尔?”姑娘问道。她仍然大张着弓,但却毋庸置疑没有原先那么自信。

“我们把树丛清开,让他们过去吧,”威尔说道。

“你确定?”哈德良问道。“烂鼻子的那位好哥哥似乎铁了心要弄把剑呢。”

“我不要了,”扁鼻子说道,他抬起头看了看哈德良的剑刃,寒铁如镜,月华流光。

“好吧,如果你确定如此。”

五个人都点了点头,哈德良也随之收剑入鞘。

威尔将他的剑插进地里,招呼着其他几个人,利索地清理起了树枝堆成的路障。

“知道么,你们做得太不对了,”罗伊斯对他们说道。

盗贼闻言停手,抬起头来,面有忧色。

罗伊斯摇了摇头。“我不是说树丛——我说抢劫。你们选的地方不错。这点我承认。但你们应该从两个方向包围我们。”

“而且,威廉——你叫威廉,是么?”哈德良问道。

男人打了个寒战,点了点头。

“好,威廉,大多数人都是右撇子,所以包围他的人就应该从左边来。这样就会置我们于不利,必须绕过自己的身体才能砍到你们。拿弓的人应该站在我们的右边。”

“而且为什么只有一把弓?”罗伊斯问道。“她这样只射得中我们两者之一而已。”

“只怕连这都做不到,”哈德良说道。“你注意到她张弓多久了吗?除非她特别强壮——我看未必——要不然那就是把木头做的土弓,根本射不出几尺远。她只负责做做样子。我看她都未必真的射过箭。”

“我射过,”姑娘说道。“我准头好着呢。”

哈德良朝着她摇了摇头,露出微笑。“你的食指都按在箭杆上啦,亲爱的。你一松手,箭羽就会擦过你的手指,我不知道箭会飞哪儿去,但肯定不会去你瞄的位置。”

罗伊斯点了点头。“买几把弩吧。下次藏好一点,对准你们目标的胸口,直接来上几箭。何必扯这么多废话,傻里傻气。”

“罗伊斯!”哈德良喝止道。

“怎么?你不是一直要我对别人好一点么。我在助人为乐呢。”

“别听他的。如果你们想听建议,那下次就造个好一点的路障。”

“是了,下次最好弄棵树来,”罗伊斯说道。他朝着树枝摆了摆手,补充道,“这太可怜人了。而且,玛利伯尔在上啊,蒙住你们的脸吧。沃瑞克是个王国,没那么大地方,别人很容易记住你们的脸。巴伦丁是不太可能费神来找你们几个小路匪的麻烦,但没准你们哪天走进酒馆的时候,脊背上就得让人给抵住一把匕首。”罗伊斯转向威廉。“你是深红之手的人,对么?”

威尔吓了一跳。“没人提这事儿啊。”他拉拽树枝的手停在了半路。

“提都不用提。红手要他们公会的所有成员都在脖子上纹那个蠢刺青。”罗伊斯转向哈德良。“纹身的目的本来是打算让他们看上去像个狠角色,但这只不过是让别人轻而易举地就能知道他们是盗贼,一辈子都是。在所有人身上画个红手,这主意不管什么时候听着都蠢得要命。”

“那刺青是只手?”哈德良问道。“我还以为是只红公鸡。你这么一说,倒确实更像只手。”

罗伊斯回头看向威尔,把脑袋歪向一边。“是有点像只鸡。”

威尔伸手盖住了自己的脖子。

清理完所有的树枝后,威廉问道,“说真的,你们究竟是什么人?黎伊雅又到底是干什么的?红手从没跟我说过。他们只让我们保持距离。”

“我们可没什么特别的,”哈德良回道。“一伙旅人,喜欢乘着秋夜的凉爽骑行罢了。”

“但认真地说,”罗伊斯说道。“如果你们还打算继续做这一行,那你们最好按我们刚才说的做。毕竟,我们接受了你们的建议呢。”

“什么建议?”

罗伊斯轻踢马儿一脚,再度沿着道路走去。“我们要去拜访詹德维克伯爵,不过别担心——我们不会提起你们的。”


II.
阿奇博德·巴伦丁手里拿着十五封偷来的信件,仿佛掌握着整个世界。每一张羊皮纸上的文字都是精心写就,笔迹秀丽而雅致。他看得出来,写信的人深信这些话语情真意切,足以传达其中蕴藏的美好真心,然而对他来说却不过是些不着边际的胡言乱语。尽管如此,就这些信件拥有着莫大的价值这一点,阿奇博德倒是跟写信人想法一致。他呷一口白兰地,闭上眼睛,兀自微笑起来。

“大人?”

阿奇博德不耐烦地睁开双眼,对着他的亲兵长怒目而视。“搞什么,布鲁斯?”

“侯爵已经到了,阁下。”

阿奇博德的微笑再度浮现。他小心地将信件重新叠好,用一根蓝色的缎带打成一捆,这才把它们放回了保险箱。他将沉重的铁门关好,锁子套牢,又用力拽了两下,确定插销结实无误之后,这才朝着楼下走去,准备迎接他的来客。

刚一到达门廊,阿奇博德便发现威托·兰纳柯林正在前厅中等候。他于是暂留一步,端详起了这个来回踱步的老头子,给了他一丝满足的感觉。尽管侯爵的爵位压他一头,阿奇博德却从未将他放在眼里。或许威托往日高不可攀、咄咄逼人,乃至于英勇无匹,但他的傲骨早已在灰发和驼背的掩盖下没了踪影。

“您需要些饮品润润喉吗,大人?”管家拘谨地鞠了一躬,畏首畏尾地向侯爵发问。

“不要,我要去把你家伯爵给我找来,”他命令道。“不然要我自己去找他么?”

管家有些不知如何是好。“我向您保证,阁下,我家主人马上就到。”佣人再次鞠躬,继而慌忙地退去,消失在了房间远端的屋门之后。

“侯爵!”阿奇博德一进门,便亲切地高声招呼起来。“真高兴你能来——而且还这么快。”

“你很惊讶嘛。”威托回道,话里带着刺儿。他摆了摆手里捏得皱皱巴巴的羊皮纸,继续说道,“你带这种话给我,还以为我会耽搁?快把事情给我说清楚,阿切。”

阿切。阿奇博德没有表露出他对这个儿时昵称的鄙夷。这个名字是死去的母亲给他起的,更是他永远不能原谅母亲的数个原因之一。他年轻的时候,从骑士到侍从的每一个人都曾经这么叫过他,而阿奇博德也每次都觉得这随便的称呼有损他的身份。所以他一当上伯爵,就立刻在詹德维克颁布了一条律法,让所有再这么称呼他的人通通吃饱了鞭子。阿奇博德当然没有那么大权力去强迫侯爵服从他的条令;他敢肯定威托是故意这么叫他的。

“请多少先冷静一下,威托。”

“少跟我说什么冷静!”侯爵的喊声在石质的大厅中激起了阵阵的回音。他上前一步,脸庞距离阿奇博德不过咫尺之遥,直勾勾地盯着他的眼睛。“你说我女儿阿莲达大难临头,还说你有证据。快说——她究竟是不是身陷危机?”

“当然是,”伯爵镇定地回答道。“但确切地说,并不会马上发生。没人要搞什么绑架案,也没有人要谋杀她——如果你担心的是这些问题的话。”

“那你给我送的是什么信?要是你害我差点毁掉自己的车队,到头来却是白担心一场,我保证你会后悔——”

阿奇博德举起了他的手,把眼前的威胁拦在了半路。“放心,威托,你没有白忙活。但话说回来,在我们更进一步地讨论这个话题之前,不如先到我的书房里休息一下,也好让我给你看看我说的证据。”

威托狠狠地瞪着他,但到底还是颔首同意了。

两人于是走出门廊,经过宽敞的接待厅,径直穿过房门,朝着城堡的居住区走去。他们在各式各样的门廊和楼梯间辗转,而周遭的环境也随之颇为显著地变化着。正门处的墙壁由式样精美的壁毯和蚀刻而成的石像竞相装点,地面更是由悉心雕琢的大理石铺设而成;然而正门之外却并无任何撼动人心的陈设可言,徒余一座座石墙空落的沉闷景象。

就建筑上的评判标准而言——或者随便什么标准——巴伦丁城堡都是平平无奇,没有任何出彩的地方。从未有哪位伟大的国王或是英雄曾经在此栖身,这里也没有诞生过什么传奇、战斗或是灵异故事,有的只是平庸和流俗的十足典范。

在这眼花缭乱的过道中来往了数分钟后,阿奇博德便停在了一扇铸铁大门面前。合页上的螺栓大得触目惊心,牢牢地把守着大门,一眼望去看不到门闩和把手。大门的两侧皆有两名高大的守卫,他们手握长戟,披挂着厚实的铠甲。阿奇博德走近时,其中一人便对着大门敲了三下。一扇小小的窥窗继而打开,片刻之后,解除门闩的尖利声响便霎时在整座厅堂中接连回荡。大门而后打开,金属合页也随之发出震耳欲聋的嘶叫。

威托举起手来,掩住他的耳朵。“玛神在上啊!你的手下是故意的吧!”

“哪有,”阿奇博德回道。“这是灰塔的入口,通往我的私人书房。这里是我的避风港,所以我要城堡里的任何一处都能听到这扇门打开的动静,我也确实听得到。”

布鲁斯站在门后,向两人庄重地深鞠一躬。他在身前举着一盏提灯,护送两人走上一段宽阔的螺旋阶梯。攀塔的路程走到一半时,威托的步伐便慢了下来,呼吸中也显出了几分吃力。

阿奇博德于是彬彬有礼地停下了脚步。“容我致歉,这段路程太长了。爬过几百几千次这些楼梯之后,我已经习惯成自然了。伯爵还是我父亲那会儿,我经常会躲到这里来。从来都没人愿意来这里,费时又费力。毕竟,这里的高度虽说没有厄尔法翁的王冠塔那么宏伟,好歹也还是城堡里最高的塔楼。”

“就没人爬上来看看风景么?”威托推想道。

伯爵轻笑一声。“你大可以这么想,但这座塔可没窗子,所以才是完美的私人书房。我还在这加装了不少大门,以便把守我所珍重的东西。”

到达楼梯顶端后,他们便又迎上了一扇门。阿奇博德从衣袋里取出一把大钥匙,打开门锁,礼貌地示意伯爵进屋。布鲁斯关上了房门,回到书房外站岗。

这个圆形的房间十分宽敞,天花板也是同样。陈设的家具十分稀少:一张凌乱不堪的大书桌、小小壁炉旁的两把衬垫椅,再就是两人之间那张精致的小桌子。只有一张铜网的壁炉烧着火,将书房的大半照亮;剩余的区域则由墙壁上林立的蜡烛提供光源,让整个房间中遍布着蜂蜜和扫萼蕃沁人心脾的芳香。

眼见威托盯着桌上胡乱堆满的各式卷轴和地图不放,阿奇博德微微一笑。“别担心,阁下,早在你到访前,我就把侵略世界的计划书收起来了。来,请坐吧。”阿奇博德朝着壁炉旁的两张椅子示意。“先让我准备两杯东西润润喉,你也好安顿一下旅途的劳累。”

年长的侯爵沉着脸嘟哝了起来。“够多参观和客套了。我们都到这了,就开门见山一点,给我把事情说清楚。”

这些话,阿奇博德都只是当作了耳旁风。马上都要开始讨赏了,他当然有悠然自得的余地,所以他一直等到了侯爵就座为止。

“你知道吧?我向你的女儿阿莲达表示过好感。”阿奇博德问道,拿着两杯白兰地走向了书桌。

“知道,她跟我说过。”

“她跟没跟你提过拒绝我求爱的原因?”

“她不喜欢你。”

“她都不了解我,”阿奇博德竖起一根手指,如是地反驳道。

“阿切,你叫我来就是为了说这个?”

“侯爵啊,如果你肯用合适的叫法来称呼我,我会十分感激。自从家父过世,由我担任伯爵之后,再用那个名字叫我就很不合适了。至于你的问题,我的回答是,的确和正题有关。你也知道,我是詹德维克的第十二任伯爵;诚然,这不是什么庞大的家业,巴伦丁也不是最具影响力的家族,但这并不意味着我就一无是处。我手底下有五个村和十二个屯,囊括瑟翁高地这一战略要址。现在归我统帅的亲兵长数目是六十有余,每一位都身经百战。效忠于我的骑士数目是二十名——包括恩顿爵士和布雷克顿爵士,只怕当世再无其他骑士可以跟他们两人争锋。整个沃瑞克都在垂涎詹德维克的毛皮出口,还有人说下次夏律节大赛会在这里举办,就在你踏进城堡时经过的那片草地上。”

“好吧,阿切——我是说阿奇博德——我对詹德维克的世界地位清楚得很,我也不是来这边听你上贸易课的。”

“那不知道你是否清楚,埃塞莱德国王的外甥曾不止一次地在这里用餐?是否清楚罗榭勒公爵及其夫人曾经提出要求,希望在今年的冬潮节跟我共进晚餐?”

“阿奇博德,你这样很没意思。你到底想说什么?”

眼见侯爵毫无动摇,阿奇博德不由得蹙起了眉。他拿起两杯白兰地,将其中一杯递给威托,坐在了另外一把椅子上。他停顿片刻,呷了一口杯中的酒液。

“我想说的是。看看我的地位、名望,我似锦的前程——阿莲达没有任何理由拒绝我。毋庸置疑,问题不会出在我的长相上。我年轻、英俊,穿的都是最好的进口货,用的都是天底下最贵的真丝。何况她剩下的那些追求者不是老头就是胖子,要么就是秃子——有的甚至兼而有之。”

“她关心的可未必只有外表和财富,”威托回道。“不是所有女人都只考虑政治和权力。阿莲达是那种率性而为的姑娘。”

“但她非得率她父亲的念想不可。不是吗?”

“我不懂你的意思。”

“你如果叫她嫁给我,她就得嫁给我。你大可以命令她。”

“所以说,你费这些功夫把我叫到这里就是为了这个?那真不好意思,阿奇博德,你在浪费我们两个的时间。我决不会逼她嫁给任何人,更不要说是你,她会为此恨我一辈子。不管我女儿的婚姻能带来什么政治效应,我更在乎的都是她的感受。很不凑巧,我就是这么宠她,我膝下的儿女里,她是最能让我快乐的那一个。”

阿奇博德又呷了一口白兰地,思索起了威托的这一席话,并继而决定换个方向来切入正题。“如果一切都是为了她好呢?如果都是为了让她免于大难临头呢?”

“你打着警告危险的幌子把我弄来这里,现在是终于准备解释这一切的来龙去脉,还是准备看看老狗是不是还有几颗牙?”

阿奇博德将这苍白的威胁置若罔闻。“阿莲达接连拒绝我求爱的时候,我就认定事出有因。她根本没理由那么坚决。我人脉这么通达,又前途无量。于是我就找出了你女儿拒绝我的真正缘由——她已经有别人了。她正在恋爱,而且是地下恋情。”

“难以信服,”威托说道。“她可什么都没跟我说过。她若是看上了谁,一定会告诉我。”

“她对你保密一点也不让人惊讶。她很清楚这段恋情会给你们的家族蒙羞,根本羞于启齿。她讨好的男人不过是一介布衣,血管里连一滴贵族的血脉都不曾有过。”

“一派胡言!”

“你放心,不是胡言。真正的问题恐怕还在后面呢。这人名叫戴甘·冈特,你想必有所耳闻吧?他可有名得很呢,是戴苟斯国民主义运动的领袖。你也知道,他带着一帮草民把南边搅和得群情激愤,这群人一心只想把贵族杀个精光,建立自己的统治。他和你女儿就在修道院附近的温德米尔幽会。你一出远门,或是忙于城邦的事务时,他们就出来见面。”

“荒谬至极。我女儿不会——”

“你不还有个儿子在那儿吗?”阿奇博德问道。“修道院里,我是说。他是个僧侣,没错吧?”

威托点头。“我三儿子,迈隆。”

“或许就是他从中撮合呢。我听来的消息里说,你家儿子可是聪明得很,说不定就是他给自己心爱的姐姐筹划了这一切,负责两人的联络。这可太不好了,威托。你看,你这位侯爵的君主是位坚定的帝国派,你女儿却跟一个造反派卿卿我我,还在王族派的梅伦加尔王国里会面,而这一切的幕后推手更是你的亲生儿子。大把的人都会觉得这是你们一家子串通一气。若是给埃塞莱德国王知道了,他又会怎么想?你是很忠诚没错,我们都心知肚明,可其他人就未必这么想了。就算我知道这不过是你家姑娘一时天真、爱错了人,她的不端可还是会让你们一家的美名毁于一旦啊。”

“你真是疯了,”威托回击道。“迈隆去修道院时还不到四岁,阿莲达不曾跟他说过一句话。你大费周章扯出这些谎言,不过是想让我对阿莲达施压,逼她嫁给你。你的动机我一清二楚,你根本不在乎她,单是觊觎她的嫁妆。你真正想要的是瑞斓谷,是这块刚好跟你的地盘两相毗邻的土地。没错,不仅如此,你还想跟地位更高的家族结为姻亲,让自己有机会在社交和政治两方面的地位青云直上。你真是可悲。”

“真可悲,是吧?”阿奇博德放下了手中的杯子,从衬衫中拿出一串银链,上面悬着一把钥匙。他站起身来,走到房间另一端的一面壁毯前;壁毯上画着一位考雷因亲王,他骑着马,行将劫走一位金发的贵族女郎。阿奇博德拉开壁毯,露出藏在后面的保险箱。他插入钥匙,打开了那扇小小的金属门。

“我有一整叠你那位宝贝女儿的亲笔信,足以证明我所言非虚。信上所写的,皆是她对那位引人作呕的造反贱民矢志不渝的爱。”

“你从哪儿弄到这些信的?”

“偷来的。为了摸清情敌的身份,我派人监视了她。发现她寄出的书信途经修道院后,我便设法截获了这些信件。”阿奇博德从保险箱中拿出一叠羊皮纸,扔在了威托的大腿上。“来!”他趾高气扬地宣布道。“读读你女儿的所作所为,再来决定你的女儿是不是嫁给我更好一些。”

阿奇博德坐回原位,耀武扬威地端起了他的那杯白兰地。是他赢了。威托·兰纳柯林,伟大的葛楼斯顿侯爵,会把他的女儿嫁给他,以免让自己的政治生涯就此终结。侯爵已是别无选择。若是风声传到埃瑟莱德国王耳中,威托便可能被以叛国的罪名论处。但凡是帝国派的国王,都会要求臣下的贵族清楚地表明各自的政治倾向,以及对教廷的忠心。尽管阿奇博德并不当真觉得威托倾向于王族派或者国民派,但只要他的行为有所不端,那便足以招致国王的不满。再怎么说,威托只要一步不慎,只怕就会使得整个兰纳柯林家族都再也抬不起头来。侯爵唯一明智的选择,便只有同意这桩婚事了。

边境的土地终归是要成为阿奇博德的囊中物了,或许终有一天,连整个边陲都会掌握在他的手中。一旦手握詹德维克和葛楼斯顿,他在宫廷中的权力便足以和罗榭勒公爵平起平坐了。

阿奇博德睥睨着这位灰发的老人,睥睨着他质地良好的旅行衣装,心中甚至都觉得有些对不起他。很久以前,侯爵曾以他的机敏和刚毅而声名桌著,连他的头衔都是由此而来。侯爵并不单纯只是个贵族,更不单纯只是伯爵那样的地方领主。威托的责任乃是为国王驻守边疆。这是相当庄重的职责,能够堪此大任的人物,非但必须是位能力超群的领导者,更要饱尝过战火的洗礼,永远不会有所懈怠。然而今时不同往日,沃瑞克的边境如今已是和平安宁,这位伟大的卫士也由是愈发地自鸣得意,身上的力量也已因荒废而孱弱不堪。

趁着威托打开信件的时分,阿奇博德便即思忖起了他的前程。侯爵说得很对,他就是为了土地才去追求他女儿的。不可否认,阿莲达也确实很有魅力,而一想到要把她赶上自己的卧榻,个中的乐趣就不是一两句愉快与否能够轻易言说的了。

“阿奇博德,你在开玩笑么?”威托问道。

还流连在思绪中的阿奇博德吓了一跳,放下了手中的杯子。“什么意思?”

“这些羊皮纸都是白纸。”

“什么?你瞎吗?这都是——”看到侯爵手中空无一字的纸页时,阿奇博德怔住了。他抓起一把书信撕了开来,得到的却是又一堆白纸。“不可能啊!”

“说不定这些都是用隐形墨水写的呢?”威托笑道。

“不……我不明白……这根本都不是原来的那些羊皮纸!”阿奇博德再次检查起了保险箱,却是一无所获,他的混乱也继而转变成了恐慌。他粗暴地扯开房门,焦急地喊来了布鲁斯。亲兵长连忙进门,手中握着他的剑。“我放在保险箱里的信怎么了?”阿奇博德对着士兵吼道。

“我——我不知道,大人,”布鲁斯回道。他收剑入鞘,在伯爵面前立正站好。

“你什么意思,不知道?你一晚上都在翘岗?”

“不,阁下,当然没有。”

“有谁——不管是谁——在我离开的时候进我的书房没有?”

“没有,大人,这是不可能的;钥匙只有您拿着。”

“玛利伯尔在上啊,那么信能到哪去?我亲自把它们放进去的。侯爵抵达的时候我还在读它们。我只不过走开了几分钟而已。它们怎么可能凭空消失掉?”

阿奇博德的大脑飞速运转起来。他没多久前还亲手拿着那些信,把它们锁进了保险箱。他很确信这里没有任何问题。

它们到底去哪了?

威托饮尽了杯中的酒水,而后站起了身。“阿切,你不介意的话,我就先走一步。你真能浪费我的时间。”

“威托,你等等。别走。真的有信。我保证,我真的有信!”

“你当然有了,阿切。下次再想敲我竹杠的时候,我建议你最好装腔作势得像话一点。”他横穿过房间,走出屋门,继而便消失在了阶梯中。

“你还是再想想我说的吧,威托,”阿奇博德在他身后喊道。“我会把信找回来的,我会的!我要把信拿到阿奎斯塔去!我要亲手把信呈给王廷!”

“您想让我怎么办,大人?”布鲁斯问道。

“给我等着,呆子。我得想想。”阿奇博德转而开始绕着房间踱步,用那双颤抖的手搔抓着自己的头发。他再一次地仔细地检查起了那些信件;而它们的质地也的确和他先前读过的那些信件有着相当微小的差别。

阿奇博德于是也顾不得什么放信的保险箱,转而把自己的抽屉全部拉开,乱翻起了书桌上堆起的羊皮卷。又给自己倒了一杯饮品后,他直穿过房间,一把扯下火炉上的铜网,拿烧火棍拨弄起了其中的灰烬,以期寻找到几块羊皮纸的残骸,从中搜刮出一星半点丑闻的痕迹。失望之余,他继而便将手中的白纸投进了火中。他一口喝光了杯中的酒水,瘫在了旁边的一把椅子上。

“刚刚还在这呢,”阿奇博德满是茫然地说道。然而,解决的方法很快便在他的头脑中逐渐成型。“布鲁斯,一定是有人把信偷走了。这些毛贼不可能跑远,我要你给我翻遍整个城堡。谁都不要给我放走。城里的人不行,守卫也不行——谁都别想出去。给我搜光每一个人!”

“马上办,大人,”布鲁斯回道,而后停顿了一下。“那侯爵呢,大人?我要把他也拦下吗?”

“用不着,你这蠢材,他当然没拿信。”

阿奇博德凝望着火焰,听着布鲁斯踏着阶梯的脚步声逐渐远去。如今他孤身一人,陪伴在侧的却只有烈火的噼啪声,以及数之不尽的不解之谜。他绞尽脑汁地思考,却无论如何都不能想通那些毛贼偷信的手法。

“阁下?”管家拘谨的声音将他从思绪中唤回,阿奇博德转而望向了他从敞开的大门中探出的脑袋,使得这位管家不免在说话前又做了一次深呼吸。“大人,我并非存心惊扰您,但庭院中现在有一些问题需要您的注意。”

“什么东西?”阿奇博德吼道。

“是这样,大人,没有人告知我具体的细节,但似乎是侯爵的问题,阁下。我被派来请您出面——谦卑地请您出面。”

阿奇博德走下阶梯,疑心老头子是不是猝死在了他家门前,那可就真的是不好收拾了。当他到达庭院时,看到的侯爵尽管生龙活虎,却也是火冒三丈。

“姓巴伦丁的,你把我的马车弄哪去了?”

“你的什么?”

布鲁斯靠近阿奇博德,站在了他的身边。“大人,”他冲着伯爵的耳朵悄声说道。“好像伯爵的车马都不见了,阁下。”

阿奇博德向着伯爵的方向竖起一根手指,高声回道:“我马上就来,威托。”他继而转向布鲁斯,小声说道,“不见了?怎么可能?”

“我也不知道,阁下,但您看,门卫报告说侯爵和他的车夫,或者说是他们以为是侯爵和车夫的人,刚刚从前门离开。”

一阵不适骤然袭来,阿奇博德却只得背过身去,对着火冒三丈的侯爵大人殷切地招呼起来。
Comments: 38 :: View Comments

Posted By: Shrewd @ 2016-09-02, 19:49
  今天,我们在观看马戏团或情景喜剧中搞笑的小丑表演,或观看《自杀小队》时,很难会把滑稽的小丑形象与古代神话联系在一起。然而追溯它的起源,我们却发现它与古罗马狂欢节中黑暗可怕的成分有千丝万缕的联系。

  许多民族曾经每年都有一个放肆的狂欢时期,此时人们抛开日常约束,全民都纵情地寻欢作乐。这种突然爆发常与播种与收获的农业季节有关,大多是一年农耕结束的时候。欧洲所有此类节日中最著名的一个就是古罗马的萨杜纳里亚(Saturnalia)——意为农神节,大约在罗马历每年的最后一个月里(12月17号)是纪念农神萨杜恩的节日。

  萨杜恩(Saturn)是罗马神话中负责播种与收获的农神。在一些传说里,祂被认为是朱庇特的父亲(相当于希腊神祇克洛诺斯)。在被其子打败篡位后,萨杜恩逃到了意大利半岛的拉丁姆,以人类的身份活在世上,受到了双面神亚努斯(Janus,一月的词根)的庇护,后来成了拉丁姆的国王。在很古老的岁月里,萨杜恩把山中零落的猎户聚集起来,教他们种地,给他们制定法律。此时大地物产富饶,人们安居乐业,众人平等,一切财富为人们共有,没有贪婪与纷争,没有战争与罪恶。有一天,平静的好日子突然结束了,这位仁君神秘消失,黄金时代也随之结束。


(在一些传说里,萨杜恩被认为是朱庇特的父亲(相当于希腊神祇克洛诺斯)。在被其子打败篡位后,萨杜恩逃到了意大利半岛的拉丁姆,以人类的身份活在世上,受到了双面神亚努斯(Janus,一月的词根)的庇护,后来成了拉丁姆的国王)

  但是,遥远后世的人民一直在怀念萨杜恩,意大利境内的许多山峦、高地都以祂的名字命名,还立了许多祭坛来供奉。不过,关于他统治的光辉传说,后来不知怎么地竟蒙上了一层阴影。《斯巴达克斯》里恺撒说,萨杜恩是地狱里的神,因此他的祭坛要用人牲的鲜血来祭祀。在古代作家流传下来的关于农神节的描述中,对这位神的这个阴暗面却没有留下什么痕迹,甚至毫无痕迹。宴会、饮酒、种种疯狂的寻欢作乐,似乎特别标志出这个古代狂欢节的特点,这些节日在古罗马的街道上、公共场合和住宅中进行,一连七天,从12月17日到23日。

  但是,节日中最引人注意的特点,使古代自己都觉得最惊人的,莫过于允许奴隶放任自由。自由民和奴隶阶级之间的区分暂时废除了。奴隶可以骂他们的主人,可以像自由民一样醉酒,可以和他们同坐一起吃饭,奴隶有些行动在任何别的时候可能使他遭受鞭打、囚禁或死刑,但这时连骂都不骂一句。不仅如此,主人实际和他们的奴隶互换位置,主人在吃饭时伺候他们,要等奴隶吃饱喝足之后,才清理饭桌给主人摆饭菜吃喝。农神节期间,每个家庭暂时成了一个小型共和国,国家的最高权力由奴隶执掌。自由民们也可以抓阄,中阄的人暂时拥有国王的称号,对他的临时臣民发布一些带有玩笑取闹性质的号令,比如命令某人陪酒,某人唱歌,某人跳舞,某人和吹笛女调笑助兴等等。

  人们认为萨图纳里亚这个节日允许奴隶自由是模仿萨杜恩时代的社会状态,是那个快乐君主统治的暂时复活,而那个主持吃喝笑闹的假王则可能是代表萨杜恩本人的。据一些古罗马的文献记载,罗马士兵每年也过农神节,节日前三十天,他们用抽签的方法从士兵中选出一个年轻的帅小伙,学萨杜恩的样子穿上王袍,然后由一群士兵陪着上街游逛,放纵情欲,为所欲为,不论其行为有多么卑鄙可耻。他享受王权统治期间虽然很快活,但到了农神节那一天,他就在萨杜恩的祭坛上自杀。

  公元303年,有一个信基督教的士兵达修斯抽中此签,但他不愿意扮演异教的神,他的上级巴瑟斯又是威胁又是利诱,始终没有动摇他坚定意志,于是将其斩首,后来达修斯被封为圣徒,他的遗骸被安葬在意大利安科纳海边的一座教堂里。这个故事佐证了古罗马诗人贺拉斯和历史学者塔西陀著作中关于农神节的描述,并让农神节假王的任务有了新的认知。他的角色并非只是丑角或只顾把宴会搞得热热闹闹的滑稽逗乐的司仪那么简单,还有一长串类似的,可笑又悲催的人物,他们在其他年代,其他地方,也带着仿制的王冠,带着帝王的披肩,在短短几天的一阵玩乐之后,年纪轻轻地就横死了。

  这种把假王作为神的代表给予处死的风俗,不太可能是从指定假王主持节日宴会的做法中产生,反过来倒更有可能,这样就意味着,在更早更野蛮年代的古意大利,凡是流行崇拜萨杜恩的地方,都会在一年的某个时间内选出一人假扮萨杜恩,享有萨杜恩的一切传统权力,然后以善神萨杜恩的身份死去,或是自杀,又假手他人死于刀剑、火焚或绞刑。这个神为人世献出自己的生命,于是后人便用活人献祭而供奉他。

  这种做法在古代民族之林并不是孤立的现象。中美洲地区有一种传统观念,身着神灵服装的人会变得异常神圣,人们就认为他们本身就暂时是神灵。这为一些怪诞的、悲惨的祭祀仪式提供了理论依据。

  在阿兹特克时期,这一观念与人祭崇拜联系起来。在历法中祭祀“冒烟的魔镜神”特斯卡特利波卡神的那个月中,这一观念发展到极致:月底,一名年轻漂亮的青年男子会被挑选出来,接下来的一整年中,他都会被尊为神的化身。这位神一开始就在神之国度中引发战争、邪恶和淫亵。当他在地球上行走时,祂加速了邪恶和罪行,也带来了痛苦和灾难。但祂又是一位伟大的神,即可创造,也可以毁灭。“他万能又无敌,”阿兹特克人说,“他既可以给人财富、快乐和长寿,又会偶然把这一切都毁灭。”


  白天,这位神的化身会在神庙中受人监护,并学习舞蹈和吹笛子。晚上,他由8个年轻武士陪伴,这8个武士既是他的侍者,也是防止他逃跑的卫兵。当“神”走过大街小巷时,他吹响自己的笛子,并使自己胳膊上,腿上的镯子嘎嘎作响。人们听到声音后会奔走相告:神正在走过。有些人还会将生病的孩子带出来向神祈祷,希望孩子们尽早康复。

  当供奉特斯卡特利波卡神的那个月又来临时,这种仪式达到了最高潮。在最后的20天里,阿兹特克国王光临神庙给这个年轻人穿上神的华丽服装。他还会授予“神”4个妻子,她们被认为代表了重要的女神。月底前5天,国王暂时退位,以表示活着的特斯卡特利波卡神在城中处于统治地位。

  到了最后一天,这个年轻人被带到神庙顶部,与他的妻子们一一告别,之后便爬上金字塔。当到达顶部后,他就被杀祭。他的身体会被送到地面,用在盛宴中供国王和贵族们享用。宾客中包括一个年轻人,他就是这天早些时选出来的“新神”,也就是明年这个时候的“主菜”。

  随着时间推移,文明的发展减轻了这个风俗中残酷的成分,把它变成了古代作家笔下描写的那种比较无害的形式,直到变成我们现在看到的意大利狂欢节的雏形。在意大利、法国、西班牙,也就是一切罗马影响过的国家里,狂欢节的一个突出特点就是有一个滑稽人物扮作节日的化身,经过一段放纵腐化的生涯,然后便假装被大众杀死。

  如果研究属实,那么这个丑角不是别人,正是老萨图纳里亚王萨杜恩的继承者,就是继承那个狂欢宴会的主持人,那个扮作假王的人,欢宴过后以神的身份死去。莎翁喜剧《第十二夜》里中世纪的傻瓜主教、愚蠢的修道院长,或是圣诞节的混乱之王、胡闹老爷,都是同一类的人物。



  这个逗趣欢乐的角色影响了16世纪到18世纪中叶意大利中的头戴面具和身穿各色彩衣的角色丑角哈利奎因(Harlequin),那个身穿彩衣,脸上抹着油彩的小丑正是来源于此。受小丑影响的哈琳·奎泽尔以哈利奎因(Harlequin)的名字命名自己为哈莉奎茵(Harley Quinn) ,由此诞生了 DC世界中最可爱可怕又可怜的迷人女反派。

Comments: 5 :: View Comments
5 Pages V  1 2 3 4  » 

Expand

Billboard

若无特殊说明,本聚合页面内容均为T.R.O.W.会员创作编译,未经发布者允许请勿擅自转载。


Expand

Stations

Time is now: 2019-05-20, 06:48