リリカルLisp ver1.5

リリカルLisp ver1.5を公開しました。
約半年ぶりの更新です。

今回の変更点は、エラーのチェックです。
今までのバージョンでは、実引数が仮引数より多かろうが、少なかろうが、
未束縛の変数を使おうが、シンボルの足し算を行おうが、
どんな無茶をしても、(大抵の場合、意味のない)値が返ってきました。
それが、今回の変更で「エラーです」と通知する機能が付きました。

> x
エラー:top-levelにおいて、xは未束縛です
> (cons 1)
エラー:consに与える引数が少なすぎます
> (+ 'a 'b)
エラー:+において、aは数ではありません
> (let 3 4)
エラー:letの使い方が間違っています

大体こんな感じです。
日本語を選ぶのに苦労しました。

プログラミング言語の学習(した気分になる)ソフトなのだから、
このような機能は付いていて当たり前だとは思うのですが、
最初のバージョンでは時間の関係から付けることができませんでした。
そして、その後は、
「今更、そんなものつけてもなー」
という思いからずっと放置されてきました。

今になってエラーのチェックを付けた理由は、
次のようなメールがきたからです。

I can’t get past lesson 2. When I type
(define x 4)
the result is x
Then, when I type
(* (x+3) 4)
the result is -2358896
I thought it should be 28

なんというか、ごめんなさい。
もう放置しても誰も困らないだろうと思っていたけど、
そんなことはなかったみたいです。

余談ですが、
リリカルLispのソースをgithubで公開してからちょうど1年が過ぎました。
誰も触ってくれないだろうなと思っていたけど、
ほんとに誰も触ってくれませんでした。
ショックですっ ><

4 Responses to “リリカルLisp ver1.5”

  1. nanashi より:

    ソース公開されてること自体今まで気づきませんでした
    なぜゲームサイトの方に分かりやすくリンクが貼ってないんだ……!

  2. zick より:

    言われてみたらその通りですね。
    リンクを貼るのを完全に忘れていました。

  3. nanashi より:

    言い忘れてました。乙です。いつもありがとうございます。
    ついでに誤字脱字報告しときますね

    第7話
    (cons (car (cdr lst)) (car (cdr lst)) ;括弧足りぬ

  4. zick より:

    ありがとうございます。
    修正しておきました(次のバージョンで反映されます)。

Leave a Reply