9LISP 002の報告です。

カウントダウンTVをご覧のみなさん。こんばんは。EXILE featuring id:shunsukです。先週の土曜日に9LISP 002の勉強会が開催されましたので、その内容を報告したいと思います。


ところで、このブログの更新の法則に気づきましたか?そうです。土日祝が休みで、平日のみの更新となっています。ですが、9LISPの勉強会は土曜日なので、できれば当日中に更新したいなと思っています。法則に逆らうことは死を意味するのかもしれません。ですが、私は戦います。次回は、当日(土曜日)に更新したいと思います。


まずは、課題の進捗状況の確認からです。各自、やってきたところを報告。その中で分からなかったところを(誰にともなく)質問しました。ですが、課題の進捗状況の確認は、ATNDのコメント欄などを使って、事前にチェックしようということになりました。ので、次回からね。


それでは、出てきた疑問点をピックアップしてみましょう。まずは、数学の知識が必要な問題はどうするのか?これは、飛ばしてもいいんじゃないかという話になりました。まずは本質を掴むことが大切です。と言い訳してみましたが、どうでしょうか?


Schemeの実行環境によって、実行結果が違う。これは、まあ、そうですよね。それから、割り算の結果が分数で表示されるよ。これは、DrSchemeとGaucheでも確認されました。商だけを得る場合浮動小数点での結果を得るには、下のように書きます。(商を得るのはquotient関数でした。。)

(exact->inexact (/ 1 3))

ちなみに、->はオブジェクト指向とは関係なくて、exact->inexactで1つの関数名です。Schemeは関数名に記号も使えるんです。あなたとは違うんです


コンスセル(このブログでは後日解説します)というのは、実際にそのように実装されているのか?それとも、概念モデルなのか?答えは、処理系によります。ただ、ほとんどがこの様に実装されているそうです。


#tとか#fの#って何?特に、意味はありません。#tで1つと考えるとよいでしょう。ちなみに、CommonLispだと、tとnilまたは'()となるそうです。


あとは、Schemeを愛する男valvallowさんによる、Schemeうんちく紹介。クラッシュバンディクーというゲームを知っていますか?あれは、LISPで実装されているそうです。さらに、PostScriptがおもしろいよーという話。


.NETでSchemeを実装している変態大学生id:aharisuくん。言語を実装するだけでなく、Visual Studio上での開発環境まで実装しています。ちなみに、彼はプログラミング歴2年。みんなから変態の扱いを受けています。Schemeのリストはリンクリストなので、ランダムアクセスは遅い。Cの配列とは別物なので注意しましょうとのこと。


先日紹介した「SICP」という本の中に、図形言語が登場します。この図形言語に、みんな興味津々。実行結果としてステキな図形が得られるのは魅力的ですよね。コンソールだけじゃ、ツマラナイでしょ?


さて、このブログはid:shunsukが書いていますが、他の人も書けるようにした方がいいよねという話になっています。そこで、はてなグループを利用しようという案がでているので、そうしたら、熊本の勉強会に参加できない人も利用できるのでいいですね。


また、はてなブックマークを使って、参考資料をブクマしていく予定なので、こちらもお楽しみに!


それでは、EXILE featuring id:shunsukの「LISP CHRISTMAS」聴いてください。どうぞ。