ニコ動Lisp 2.0[予告および仕様]

ニコニコ動画で動作するLispインタプリタですが、
ついにlambdaとdefunが完成しました。
もちろん再帰呼び出しも可能です。

(defun f (x) (if (eq x 0) 0(+ x (f (- x 1))))) (f 3)

こんなコードが動きます(ただし、2回に分けて入力してください)。
で、ちゃんとテストもしたし、これで完成だと思い、
確定ボタンを押したんですが、なぜかニコニコ動画から反応が返ってこない。
何回試しても反応が返ってこない。
一旦ログインからやり直してみるかと思い、ログアウトしようとしたら、

メンテナンスのお知らせ
現在ニコニコ動画はメンテナンス中です。
5月28日(水) 13時00分~16時00分(予定)
※都合により変更となる可能性がございます。

ぎゃああああああああああああああああ
ちなみに、スクリプトの確定ボタンを押したのは13時を5分ほど回ったときでした(泣)

**ニコ動Lisp 2.0 仕様**
サポートする関数:
car
cdr
cons
eq (数の比較もこれで行う)
atom
+ (引数は任意個)
– (引数は2つ)
サポートするスペシャルフォーム:
quote
if
progn
lambda
defun
データ:
文字アトム (日本語なども使用可能)
数アトム (入力時は非負整数のみ)
コンス (今のところはimmutable)
注意点:
ドット記法による入力は受け付けない。すなわち、 ‘(a . b) は正しい式として扱われない
セルの数は512個固定であるが、GCは行われない。
0.5秒に1回の処理を行うため、再帰呼び出しを繰り返し使うような式は動画の時間内で評価が終わらない可能性がある。
バグと思われるものがあったら報告してもらえると嬉しいです。
ただし、修正されるまではそのバグは仕様です(笑)

Leave a Reply