リリカル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年が過ぎました。
誰も触ってくれないだろうなと思っていたけど、
ほんとに誰も触ってくれませんでした。
ショックですっ ><
ソース公開されてること自体今まで気づきませんでした
なぜゲームサイトの方に分かりやすくリンクが貼ってないんだ……!
言われてみたらその通りですね。
リンクを貼るのを完全に忘れていました。
言い忘れてました。乙です。いつもありがとうございます。
ついでに誤字脱字報告しときますね
第7話
(cons (car (cdr lst)) (car (cdr lst)) ;括弧足りぬ
ありがとうございます。
修正しておきました(次のバージョンで反映されます)。