6月 18th, 2007
zickです。
このサイトも、もうあまり新しい人が来ることはなくなってきたかなー……
なんて思っていたら、はてなブックマークとかを見るとごく稀に件数が増えていて、
時々だけれど新しい人が来てくれているようで何よりです。
と、はてなブックマークを眺めていると、地獄Lispを紹介してくれた人がいるようです。
つれづれなるままに
誠にありがとうございます。
せっかくなんで地獄Lispのパワーアップ版である地獄Schemeで、
一体どんなことが出来るかを、ここに少し載せてみようかと思います。宣伝もかねて(笑)
(define cont #f)
(+ 1 (call/cc (lambda (k) (set! cont k) 0)))
(1行が1回の入力->評価と対応しています)
簡単に解説。
最初の式は単に変数に値を入れているだけです。
で、2つの式ですが、これは、
「『1』と『現在の継続を引数としてある関数を呼んだ時の値』との和」を求めます。
“ある関数”とはもちろん「(lambda (k) (set! cont k) 0)」のことですが、
“現在の継続”とは、これからする処理のことで、
この時点において”現在の継続”とは
(1)これから何かを評価して値を求め、
(2)それに1を加えた値を求め、
(3)その値をトップレベルに返す
というものです。
この式を評価したときは単に(+ 1 0)の値である1がトップレベルに返るだけですが、
(cont 7)
を評価してやると、トップレベルに8が返ります。これは、
(1)これから何かを評価して値を求め、
の『何か』が7になり、残りの
(2)それに1を加えた値を求め、
(3)その値をトップレベルに返す
が行われるため、(+ 1 7)の値である8がトップレベルに返るわけです。
継続は勝手に破壊されるようなことはないので、何度でも呼び出すことができ、
(cont 127) => 128
(cont 255 => 256
このような結果となります。
“現在の継続”とは一体何かを平たく言うと、”そのときのスタックの状態”ですね。
もう少し面白いのが、ここで
(cons 'a (cont 15))
としたときです。この式の値は16となります。つまり、consが無視されるんです。
これは、(cont 15)が評価された時点で、これからする処理が
「consを呼び出しトップレベルに戻る」ではなく、
「何かに1を加えてトップレベルに戻る」に書き換わるためです。
要するにスタックの状態を丸ごと書き換えるようなものです。
Posted in プログラミング | No Comments »
6月 8th, 2007
zickです。
リリカルLisp頒布情報をお届けします。
[ComicCommunication11]
日時:2007年6月10日(日曜)
場所:インテックス大阪
配置:Q-42a 「烏御堂」
リリカルLisp以外にも、B5サイズの本がぴったり入る烏箱や、らき☆すた本も頒布するようです。
(というより、後者二つの方がメインです(笑))
大阪辺りにお住まいで、まだリリカルLispを手に入れていない方は是非お越しください。
Posted in リリカル | No Comments »
5月 25th, 2007
zickです。
以前、公開した地獄Lispにcall/ccをつけてみました。
地獄Scheme
多値は扱えないので、継続オブジェクトにapplyを適用したりすることは出来ませんが、
それなりにちゃんと動作するはずです。多分。
大学の講義の中に突然思いついたアイディアを、あまり検討もせずに適当に書いてみただけなので、
ひょっとしたら、大きなバグとかがあるかも知れませんが、お気になさらずに(笑)
追記:
どうやらFirefoxでしか動かないようです。
Firefox, IE6.0, Operaで動作確認を取りました。
Posted in プログラミング | No Comments »
5月 19th, 2007
bugyoです。
ホスティング先のサーバが落ちていたため一時通販フォームに繋がらない状況となってしました。
現在は回復しております。
ご迷惑をおかけ致しました。
通販にて多数のご注文を頂きました。
嬉しい限りです。
実費回収は・・・出来るんでしょうか?
Posted in リリカル | No Comments »
5月 11th, 2007
毎度のことながら、zickです。
通販の方ですが、結構反応がいいみたいです。
同人とかとは縁がなくても興味がある方は結構いたみたいです。
やっぱし通販やってよかったと思いました。
さて、Lisperの間で話題となったgauche.night。
私は残念ながら行けなかったのですが、小黒様のプレゼンの中で、
リリカルLispのスクリーンショットを使っていただきました。
とはいえ、どんな風に使っていただいたのかさっぱり分かってません。
そのときの写真とか撮られた方がいらっしゃいましたら、こっそり見せてください(笑)
Posted in 雑記 | 1 Comment »
5月 8th, 2007
zickです。
かなり遅くなってしまいましたが、通販を始めました。
通販内容
品名: 魔法言語 リリカル☆Lisp
内容: 魔法言語 リリカル☆Lisp本体ディスク 1枚
魔法言語 リリカル☆Lisp オフィシャルガイドブック 1冊
<通販特典> あどばんすど NScLisper オフィシャルガイド
価格:本体1000円 送料300円
通販の手順と流れ
こちらをご覧ください。
Posted in リリカル | No Comments »
5月 4th, 2007
zickです。
ずっと更新を休んで、すみませんでした。
リリカルLispの通販ですが、連休明け数日後から開始したいと思います。
・価格は1300円
・支払いは定額小為替
詳しくは4月16日の日記を見てください。
お届けするものですが、
・リリカルLisp (CD)
・リリカルLispオフィシャルガイドブック (本)
の二点に加え、
・あどばんすどNScLisperオフィシャルガイド (本)
をお付けします。
この本はNScripterの上でどのようにLispインタプリタを作ったか、
あっさりと説明するという、ちょっとだけ技術的っぽい内容になっています。
サンプル1(表紙)
サンプル2(13ページ)
サンプル3(21ページ)
表紙と内容が釣り合ってない気もしますが、そこは気にしないでください(笑)
NScripter好きの人ならこの表紙がネタだってことに気づいてくれますよね?
Posted in リリカル | 2 Comments »
4月 23rd, 2007
zickです。
通販の件ですが、もう少し時間が掛かりそうです。
何も考えずに「通販します」といったため、まだ準備が終わってません。
申し訳ありませんが、もう少しお待ちください。
できるだけ早く開始できるようにします。
そんなわけでお茶を濁すもの第三段(第一段と第二弾はここ)
関数の作れない関数型言語COSAK
なんと、このプログラミング言語は『(』『)』『s』『k』『 (空白)』の5種類の文字しか使わないんです。
表示にも上記の文字しか使わなかったり、関数型言語と名乗りながら関数抽象が出来なかったり。
しかし、数値計算はもちろん、高階関数が使えたり、案外何でも出来ます。
……というのは売り文句で実際はただのネタですが(笑)
Posted in リリカル | No Comments »
4月 16th, 2007
毎度のことながらzickです。
通販について、現在予定されていることをとりあえず書いておきます。
*通販の流れ*
(1)入力フォームに必要事項を記述
(2)注文用の用紙が作られるので、それを印刷
(3)印刷した(2)と定額小為替を同封して指定の住所に郵送
(4)あとはリリカルLispが届くのを待つだけ
上記の通り、支払方法は定額小為替です。
価格は1300円前後を予定しています。
更なる情報は近日発表する予定です。
Posted in リリカル | 2 Comments »
4月 14th, 2007
zickです。
『通販やったら買うっていう人います?』
と書いて、一人でもコメントを付けたら通販をやろうと決めていたら、
本当にコメントを付けてくれた人がいたので、通販をやろうかと思います。
現状としては、私の独断で通販をやるといっただけで、
何も決まっていないので、詳細は後日発表します。
楽しみな人は楽しみに待っていてください(笑)
Posted in リリカル | 1 Comment »