(* -*- title: "λ Abstraction"; episode: "2045-01-22T02Z" -*- *)

これは暫定的なページです。 将来、内容が変更される可能性があります。

(* Local Variables: *)
(* Continued-from: nil *)
(* Continued-on: "Epsiode 2045-04-05T03Z" *)
(* Version: "0.0.7" *)
(* Stability: provisional *)
(* Category: Novel *)
(* End: *)

Abstract

 京都λ抽象学院は京都にある国立全寮制女子高等専門学校。

 まだ工学の分野に進む女の子が少なかった頃、 工学に興味のある女の子を奨励する目的で全国に設立された λ抽象学院のひとつです。

 京都λ抽象学院は工学の分野に進む女の子のあいだでは 名門中の名門校。

 Hindley-Milner 型推論で有名な Robin Milner が書いた The Definition of Standard ML (Revised) を教科書として 使うらしくて、それだけでもわくわくする。

 がたんごとん、がたんごとん……と、規則的に繰り返す 電車の音が、わたしを安心させる。緊張がちょっとほぐれる感じがする。 兵庫と京都間の44分。

 わたし、古園井真鳥は、京都λ抽象学院の推薦入試の面接を受けに行くところです。

Introduction

 京都λ抽象学院は名門中の名門校。

 そんな京都λ抽象学院に、どうしてわたしが入りたいと思ったのかというと。

 お母さんはいつもパソコンをいじっている人だった。 ご飯を食べているときも、電気を消してこれから眠るときも。 お風呂のとき以外は、お母さんはいつもパソコンを持ち歩いていた。

 小学1年生のとき、わたしはお母さんにこうたずねた。

「そんなにいつもパソコンでなにをしているの?」

 お母さんは答えた。

「Scheme の処理系をつくっているんだよ」

 わたしはお母さんのパソコンを覗いてたずねた。

「英語?」

「英語じゃない。 Standard ML 」

「読んでるの?」

「書いてる」

 当時のわたしは、ほかの小学生と同じように、 とにかくなんにでも興味を持つ女の子だった。わたしはねだるように言った。

「わたしも書いてみたい」

「本当? 難しいよ?」

「できるもんっ」

 お母さんはていねいに教えてくれた。こうしてわたしは Standard ML が 好きになった。

 それから、わたしは小学校で Standard ML の話をしたけど、だれも興味を持ってはくれなかった。 だから、わたしは、ずっと Standard ML の話ができる友達が欲しいと思っていた。

 それから中学1年生のとき、京都λ抽象学院では Standard ML の古典的な規格である The Definition of Standard ML (Revised) を教科書として使っているらしいと知った。わたしは 感動した。そこに行けば、もしかしたら Standard ML が好きな友達ができる かもしれない!

 ちなみに、なぜいわゆる現代的な Successor ML ではなく SML '97 1 なのかと言うと Successor ML は少々大きすぎるので授業で使うには SML '97 のほうが適しているとのことだった。

 だから、わたしは京都λ抽象学院を目指したの。

Methods

 2045年1月22日日曜日。最低気温-3.6度。

 電車から下りると冷え込んだ空気が肌をちくちく刺した。

 京都駅で降りてバス停まで歩く。

 寒い。

 マフラーに顔を埋めて白い息で眼鏡を曇らせる。 眼鏡に黄色い文字で “警告: 視程不良: 危険です” と表示される。 この眼鏡はおせっかいだから大して見通しが悪くなくても 警告してくる。だから無視する。

  降り場のほうからロータリーをぐるっと回るようにして京都市営バスが来る。

 ほかの人たちにまぎれるようにしてわたしはバスに乗り込む。

 緊張する。

 わたしはこれから京都λ抽象学院へ面接を受けに行くのだ。

 バスに揺られて18分。バスが荒神口通りに着く。 バスから降りてしばらく歩く。

 信号待ちのあいだに、冷たい風が指を撫でる。 指先が骨まで冷えきっている。両手を擦り合わせる。 両手の指を交差させてぎゅっと握る。 タイツを履いているから足は寒くない。手袋もしてくればよかったかも。

 信号が青になる。このまままっすぐ歩けば、 京都λ抽象学院はすぐに見える。

 白い壁に傾斜の強い真っ赤な屋根。 京都λ抽象学院は欧州のお城のような見た目をしている。

 遠くからでもはっきりとほかの建物と区別できるほど 大きくて特徴的な建物。わたしはそこに向かって歩いている。

 門を前にすると鼓動がはっきりと聞こえるくらい強くなる。 ほっぺたが熱い。胸を高鳴らせながら数段の階段をゆっくりと上がり 門をくぐる。

 練習したように話さないと。

 わたしは絶対に京都λ抽象学院に入るんだ。

 屋内に入り、温かい空気に触れると、一気に眼鏡が曇る。 目の前がまったく見えない。 眼鏡を1度外し、ハンカチで結露を拭き取ってから再度身に付ける。

 わたしは事前に約束したことを小声で復唱して確認する。

「たしか、1号館の2階、1年ζ組だったよね」

 窓口に “1号館” と書かれた札があった。 ここが1号館だ。

 2階。ってことはとりあえず階段を探そう。

 わたしは階段を探して廊下を歩く。

 昇降口から廊下がまっすぐ伸びているだけで 枝分かれなどはしていないから、歩いて行けばいずれ 見つかるはず。

 途中、わたしの前に面接を受けていたらしい女の子と入れ違いになる。

 わたしは思わず彼女に釘付けになって足を止めてしまった。

 外国人。北欧系? フワッとした真っ赤なボブ・ヘアにくりっとした 深い緑色の目。

 身長は低く140cm後半だと思う。

(かわいい——)

 わたしの第一印象はそれだった。

 彼女はそのまま歩き続け、ついに学校から出て行ってしまった。

 わたしはどきどきしている。

 なんだろう、なにがそう思わせるのかはわからないけど、 彼女にもう1度会いたい、わたしはそう思っている。

 単にかわいいから。いや、それもあるけど、そうじゃない。

 この学校の面接を受けに来るなんてわたしと同じ趣味の女の子に決まっている!

 わたしは、 Standard ML の話ができる友達が欲しくてここにきた。

 彼女はその話ができるかもしれない。そのうえにかわいい。 そんな人に興味を持たずしていられようか。

 一目惚れ。端的に言って。

 この入試が成功すれば彼女ともう一度会えるかもしれない。

 友達になれるかもしれない。

 そんな気持ちが、わたしのやる気を促してくる。

 わたしは我に返る。こんなことしてる場合じゃない。 階段を探さないと。

 そして廊下を隅まで歩くと、そこには螺旋階段が。

 わたしは螺旋階段をのぼって2階へ行く。

 5階まで吹き抜けになった校舎。

 ガラス張りの壁から見える学生寮。

 ふと天井を見ると、そこにはシャンデリアが。

 まるでホテルみたいだ。

 学校とは思えないほどおしゃれな空間。

 こんな場所にいると、だれかがわたしを迎えに来るかと思って どきどきしてしまう。

 それから2階の1年ζ組の前。

 遅れないようにちょっと早めに出た。眼鏡の右のレンズの 右上の隅に表示された時計は予定の時刻の16分前を指している。

 わたしは左手の小指で空中をタップする。 小指にはめた Facebook Ring がすぐさま反応して スカートのポケットにいれたマシンに命令を送信し、 マシンがインターネットから HTML をダウンロードして、 眼鏡にウェブサイトを表示する。

 しばらくインターネットでもして時間を潰そう。

 それからあっという間に15分が経ち、 わたしは小指で空中をタップしてコネクションを切断する。

 わたしの前に面接を受けていた子が教室からでてくるのを 確認して、わたしは教室に入る。

 部屋に入るとオトナな香水の香り。

 部屋にはわたしの面接をしてくれる2人の先生がいた。

 一方の先生は肩甲骨が隠れるくらいのきれいな長い黒髪の先生。

 身長はわたしと同じくらいの150cm後半に見える。 たれ目で童顔で、わたしと同年代にすら見える。 もし胸に名札をつけていなかったら生徒かと勘違いしてしまいそう。

 名札に書かれた名前。後藤写理先生。

 他方の先生はうなじが見えるくらいの短い茶髪の先生。毛はとても細くて 光を反射してきらきら光っている。

 身長はちょっと高くて160cm後半くらいかな? 尖ったキリッとした 目をしていて、オトナっぽい。

 藤阪対先生。

 わたしは椅子に腰を降ろして先生たちと向き合う。

 なんだか目を見れなくてきょろきょろしてしまう。

 後藤先生が書類に目を落としながら高い声で言う。

「こんにちは」

 藤阪先生も続けてトーンと落とす感じで言う。

「こんにちは」

「はっ、はいっ、こんにちは」わたしはびくびく答えた。 「その、後藤、先生に、藤阪先生」

 藤阪先生はキッパリと言う。

「緊張しなくてもよろしい」

「それでも緊張します」

 後藤先生がふんわりと言う。

「ふふ。かわいいですね。それではさっそくですが、受験番号と 氏名を教えてください」

 いきなり。心の準備はしっかりしてきたはずだけど緊張して 声がでない。わたしはしどろもどろに言う。

「受験番号は100049——6桁の素数のうえに下2桁が平方数なので縁起が いいと思っています——で、氏名は、ご存知かと思いますが古園井真鳥です」

 後藤先生が冷静に続ける。

「この学校を選んだわけを教えてください」

 この学校。京都λ抽象学院を選んだわけ。

 それははっきりしてる。

 わたしは目を一度つむる。考えていることを言葉にするには、 その前に、なにも見えないところで整理するといいから。

 どうしてこの学校に入りたいのか。 どうしてほかの学校じゃダメなのか。

 わたしは目を開けて言葉にする。

「わたし、 Standard ML が好きなんです」

 藤阪先生が「ほう」と感心してくれたように言った。

 だんだんどきどきしてきた。わたしは目をうろうろさせる。 声をうわずらせながら髪をかきあげて右の耳を触る。緊張すると つい耳を触ってしまう。

「Standard ML について話せる友達が欲しいとずっと思っていました。 でも、小学校と中学校では、 Standard ML について話せる友達はいません でした」

 わたしの心拍数はどんどんあがっている。ばくばくしてる。 胸の奥が詰まるような感じがする。それでも振り絞るように言う。

「この学校は The Definition of Standard ML (Revised) を教科書として使うと聞きました。そんな学校ならきっと Standard ML について話せる友達に巡り会えると思って……わたしは来ました」

 藤阪先生がにやにやしながらわたしを見ている。 なにか思っているようだけど、なにを思っているのかは読み取れない。

 後藤先生はおごそかに続ける。後藤先生はなにも考えていないみたいに 静かな表情をしていて、なんだかこわい。

「古園井さん、あなたの長所と短所を教えてください」

「えっと、その……長所は、たぶんプログラミング言語に詳しいところ。 短所はプログラミング言語以外には疎いところです」

「中学校ではどんなことを頑張りましたか?」

「インタプリタ——SECDマシンやJITコンパイラ——の実装とか、 あとLLVM を使用した簡単なコンパイラの実装、 操車場アルゴリズムによる Haskell や SML などの言語に見られる infix のような機能の実装、 Hindley-Milner 型推論の実装、LRパーサジェネレータの実装とか……」

「なるほど。主に言語処理系の実装を頑張ったのですね」

「は、はい……」

「それでは最後の質問です。卒業したあとしたいことはありますか?」

「それは、まだ……正直、わたし自身が本当はなにをしたいのかもよく わかりません。ただ、 SML が好きというだけで……」

「なるほど。ありがとうございました」

 ありがとうございました。ってことは、これで終わりってこと?

 あっけない。

 わたしがおどおどとしていると、藤阪先生が立ち上がり、声をかけてくれた。

「門まで送るよ」

「はっ、はい」

 わたしが慌てて立ち上がると、後藤先生が厳しく言った。

「挨拶は?」

 その口調はなんだかとっても批判的で。

 後藤先生って、幼くて優しそうな見た目とは裏腹に、 厳しそうだな……。

「あっ……ありがとうございました」

Results

 藤阪先生のあとについて螺旋階段を降りる。

 藤阪先生の背中。短い茶髪。妖艶な産毛が生えた魅惑のうなじ。

 それらが逆光で神々しく見える。

 後ろ姿だと女神様みたい。

 1階。わたしたちは廊下を歩いて昇降口へ向かっている。

 ふと、藤阪先生が歩きながら言った。

「面接は最悪だったよ」

 面接は最悪。そう面接官から言われるっていうのは、つまり……。 わたしは想像して不安になる。わたしはたずねる。

「不合格ですか?」

「それはまだわからない。でも後藤先生は不合格にすべきだと言うだろうね」

 後藤先生は? 後藤先生もじゃなくて。 それはまるで藤阪先生はそうじゃないみたいな言い方じゃないか。 わたしはそう考えて思わずたずねる。

「藤阪先生はそうは考えていないんですか?」

「うん。入学前から Standard ML を好きな子を落とさせやしないよ」

 わたしはちょっと安心する。 Standard ML を好きなことをアピールしたのが よかったみたい。

 そして受付。昇降口の前。本当ならここでバイバイすればいいんだけど、 藤阪先生は一度足を止めて打ち明ける。

「じつは、この学校ではデータ構造やアルゴリズムなどの言語を問わない 授業だけではなくて Haskell や OCaml などそれぞれの言語に特化した 授業もしているんだけど、わたしは Standard ML の担当なんだ。 後藤先生は Haskell 。だから個人的に古園井さんはとても気に入った」

 突然の告白。なんだかどきりとする。わたしは目をうろうろさせながら 答える。

「なるほど」

「でも面接は工学的な能力ではなくて対人能力を見る側面が強いからね。 きみは入室するときに “失礼します” とも言わなければ、退室するときに “ありがとうございました” とも言わなかった。 そういう意味では面接は最悪だった」

 それは、たしかに。わたし自身、あんまり人と話すのが得意なほうだとは 思ってない。

「人と話すのはあまり得意ではないです」

「そう思った。でも自信を持って。わたしが全力できみの入学を支えるよ」

 なんだか嬉しい。わたしは藤阪先生に親しみを持った。

 でも。

「えこひいきされてると思われたら、嫌です」

「ばれなきゃいい。入学前から Standard ML が好きな生徒はなかなかいないから 個人的にひいきしたいんだ」

 ひいきのことよりも、むしろ、わたしは 入学前から “Standard ML が好きな生徒はなかなかいない” という 一言が気になった。

「この学校には Standard ML が好きな女の子ばかりが集まると思っていました」

 藤阪先生が声調を落として言う。

「期待させて悪いけど、入学する前から Standard ML が好きな生徒はそうそういないよ」

 ちょっとがっかりした。でも、授業で教われば好きになる人もけっこういると 思う。

 わたしは自分の考えを述べる。

「でも授業を受ければ好きになる人もきっといると思うんです」

「いるよ。古園井さんの推測は正しいし、予想ではなく、 経験として、毎年いるね」

 わたしはほっとした。そうでなくちゃ困る。じゃないとわたしが この学校へ入る意味がない。

 藤阪先生は続ける。

「ただ、 Standard ML を好きな生徒はあんまりいないけど、 Haskell とか Ruby とか、そのあたりを好きな生徒はけっこう多いよ。メジャーだからね」

 Standard ML はなかなか流行っているとは言いにくい言語。 Haskell や Ruby は人気のある言語。

 Standard ML じゃなくても、プログラミング言語が好きな友達ができたら嬉しいな。

 わたしはちょっと笑みを隠しきれずに言う。

「楽しみです」

「うん。わたしも楽しみ。入学したらよろしくね」

「よっ、よろしくお願いします!」

 藤阪先生はキリッとしてるけど温和で親しみやすそうだと感じた。

 わたしはブーツを履く。

 それから学校の外に出る。温暖な屋内から真冬の寒空の下へ。 あまりの寒さに思わず鳥肌が立つ。藤阪先生は肩を両手で抱きながら、 わたしを門まで送り届けてくれた。そこからはわたし1人。 彼女が見えなくなるまで、わたしは何度か後ろを向いて手を振りながら 帰るのだった。

Discussion

 面接の結果は最悪だと言われた。

 後藤先生——Haskellの先生——は厳格な先生で、面接をそのまま評価する。

 藤阪先生——Standard MLの先生——は軟派な先生で、わたしが SML を好きだから ひいきしてくれるという。

 それらの結果がどんな将来をもたらしてくれるかは未知数だけど、 わたしは、全体として希望的に感じた。

 藤阪先生は印象がいいし、きっとうまくやってくれると思う。

 Standard ML を好きな生徒はあんまりいないみたいだけど、 でもプログラミング言語が好きな生徒はわりといるらしい。

 なら、わたしは彼女たちと議論してみたい。

 どうして Standard ML のことを好きじゃないのか。

 どうして Haskell や Ruby のことを好きなのか。

 それを聞いてみたいし、わたしも話してみたい。

 そんなことを思ったのでした。

Conclusion

 こうしてわたしは京都λ抽象学院の推薦入試の面接を終えました。

 結果はどうなるのかな……。それはわからないけど。

 うまくしゃべれた気はしないというか、藤阪先生に直接ダメだしをされて しまったし、そういう意味ではダメダメだと思う。

 でもわたしが中学時代で頑張ったことを話した。 それが評価されてほしい。

 今日出会った人。

 後藤先生は生徒みたいに見えるほどあどけないし、ふんわりした話し方をする けど、ルールには厳しい先生。

 藤阪先生はオトナっぽくてお姉さんのようだけど、温和で親しみやすい先生。

 それに、あの赤毛に緑色の目の女の子……。

 受からないかもしれないという不安もあるけど、 それ以上に、きたるべきこれからの学校生活が楽しみになるのでした。


  1. The Definition of Standard ML (Revised) が 1997年に出版されたことから、この規格のことを略して SML '97 と呼ぶ。

(* Local Variables: *)
(* Continued-from: nil *)
(* Continued-on: "Epsiode 2045-04-05T03Z" *)
(* Revision: "78f480c7b2b41f7e620c7fda17e25bbbabee3875" *)
(* End: *)