ロシア

http://headlines.yahoo.co.jp/hl?a=20070522-00000006-san-int

ロシアで一度に3回もパスポートの提示を求められた身としては怖い話です。

ロシアでは旅行者がパスポートを持たずに外出すると捕まってしまうそうですが、ホテルにつくと登録のためにパスポートを取り上げられてしまうので着いた当日なんかは結構大変です。一度パスポートなしで外出しようとしたのですがフロントに行ったらパスポートが戻ってきてたので持って出かけたところ、冒頭のように提示を求められて焦りました。クレムリン付近は個人で出歩くには危ないところでした。

ところで、この記事を書いている内藤さんはユニークな人でした。元気そうで何よりです。

下げ株

パワーポイントに仕込んだ効果を忘れて発表中に戸惑う人。「ああ」とか「そうだ」とか小さな声を発する。

Joyのソースコード

https://propella.hatenablog.com/さんも記事https://propella.hatenablog.com/entry/20070518/p1で述べられているとおりJoyにはたくさんのソースコードがあるように見えますが実際は存在しないか、同じものです。

http://www.latrobe.edu.au/philosophy/phimvt/joy.html

このサイトの「3. The C sources and the Joy libraries」章に「The C sources:」以下でCソースコードへのポインタがあります。

The old Joy0 C-files The prototype has now been abandoned.

→これはPage not foundです。

Joy1 Prospectus (1K)

→現在のJoyは元々Manfred von Thunさんが開発したものをJohn Cowanさんが改良したもののようです。後者の紹介が書かれています。

John Cowan’s site: his joy.tar.gz (500K)

→これもPage not foundです。John Cowanさんのサイトhttp://home.ccil.org/~cowan/は参照できます。アダルトな小説も公開していてちょっと面白い人なのでしょうか。

current joy.tar.gz (500K) includes:

→実際に動くJoyのソースコードが得られます。このソースにはJoy本体の他、さまざまなライブラリやゴミ集め(GC)のシステムも含められています。

The new Joy1 C-sources (including a tar.gz)

→このページでは上記のJoy本体のソースを直接webで見ることができるようになっています。このページにはjoy1src.tar.gzがありますが、これは本体のみを抜き出してtgz化したものです。中身は先ほどのものと同一です。

Bugs, Fixes and Plans(30-Oct-01)

→Page not foundです。

LICENSE (BSD license)

→ライセンスについてベタなテキストで書かれています。

Miscellanous miniature implementations of Joy

→ここにはJoyをさまざま言語で実装した例があります。Prolog, Lisp, Pascalによるものまであります。Prologによる実装が一番コンパクトなようで、さすがにSqueakでそこまで小さくできる自信がありません。

Joy

暇をみつけて少しずつSqueak上で実装しています。Cソースを見ながらできるだけコンパクトになるよう進めているのですが、再帰を多用している現在の実装ではロボットに積むのはちょっと不向きかもしれません。多分簡単に再帰を使わない実装にできると思うのですが、時間もないので趣味的にゆっくりやっていこうと思います。

Sorrow

Sorrowの実装はまだ見つけられませんが、squeak-devに投稿された記事は見つかりました。

http://lists.squeakfoundation.org/pipermail/squeak-dev/2004-February/073798.html

これを見るとナイーブな実装ではなく、arrayオブジェクトに#value:メッセージを送ると、arrayをスタックとみなしてJoy風の動作をするようなもののようです。

Joyのquotationも以下のように記述できるらしい。

#((1 2 3) 0 (+) inject:into:)

ただcombinatorに関する記述はないみたい。どうなんでしょう。実物がないので詳しくわからないのが残念です。

Joy

急の発熱で1日寝込んでしまいました。とりあえず熱はおさまったのですがノドが痛くてかないません。寝る直前にJoyの記述を読んでいたので熱っぽい頭でイロイロ考えていましたが、まだきちんと理解できていなくて目的にあうのかあわないのかわかりません。

とりあえずSchemeともども実装してみて考えようかな、なんて思っています。

ウェブで探していたらJoyに触れているブログがありました。別途ご自身でも処理系を作られているようです。こういう動きにはとんと疎くなっています。

Project GikoForth

http://gikoforth.s13.xrea.com/

Joy

ロボットの操作用に実装する言語を物色しています。使い勝手からSchemeあたりが適切かなと思ってminiscmのソースを読みなおしてみたり、古ForthプログラマからForthの情報を仕入れたりしています。SqueakMapでの実装を調べている最中にSorrowというパッケージを見つけ、さらにそこからJoyという言語にたどりついたのですが、このJoyという言語は逆ポーランド記法なところはForth風なのですがウェブサイトを見ると関数型言語だと言っています。さらに詳しく読んでみるとCombinator理論をそのまんま実装したような言語であることがわかりました。古典の「Lambda Calculus」を読んだ時に自分で実装することも考えていましたが、ちゃんと使えそうな言語として存在しているとは知りませんでした。結構面白そうです。

Sorrow

http://map.squeak.org/package/9b0b34f7-15ae-4b73-839d-9262988ff276

Joy

http://www.latrobe.edu.au/philosophy/phimvt/joy.html

ウィルス対策ソフト

更新料0円がうたい文句の対策ソフトを使っています。あまり調子はよくありません。2個パックで購入したものをWindows 2000とXPとで使っているのですが、2000の方はしばらく使わないで放っておくとネットワーク接続ができなくなります。最初は訳もわからずとてもびっくりしたのですが、ファイアウォール機能を止めたら全く問題が発生しなくなりました。

XPの方は特に大きな問題はなかったのですが、今日NAS上のpptファイルを開こうとしたら突然マシンがブラックアウトしてメモリーカウントが始まり目がテンになりました。再起動後Windowsのトラブル報告のダイアログが出たのでエラー送信してみたら、問題はK7なんとかというモジュールにあってその開発元は購入したウィルス対策ソフトの会社ということが示されました。

まあわざわざ安いものを買ったのでこういうトラブルも仕方ないのですが、ウィルス対策ソフトのようにOSの深いところに入るだろうものはしっかりしたものを使わないと痛い目にあいますね。

coLinux

結局ビルドには失敗してしまいました。途中でgccがエラーを出して止まってしまいます。

面倒だし急いでいたのでvmwareでビルドできたものをそのまま使うことにしました。こちらは問題なし。

vmwareに比べて若干遅い感じです。まあ、サブ的な用途なのであまり気にはなりませんが。

現実逃避おわり。

coLinux

現実逃避ネタにcoLinuxをインストールすることにしました。

http://saikyoline.jp/wiki/index.php?%A5%E1%A5%E2%2FcoLinux%CD%D1RootFS%A5%A4%A5%E1%A1%BC%A5%B8%A4%F2Debian%A4%CEISO%A5%A4%A5%E1%A1%BC%A5%B8%A4%AB%A4%E9%BA%EE%C0%AE

おもに上のサイトの通りにインストールしています。

ただ、「TAP-Win32 Adapter V8 (coLinux)」をブリッジでローカルに接続する方法がよくわかりませんでした。

http://scratchpad.fc2web.com/colinux/install/install-5.html

このページの下のほうに、「ネットワーク接続の設定画面でブリッジさせたいものを2つ選んで右ボタンを押すとブリッジ接続する」が現れるとあるので、そのようにしたらちゃんと接続できるようになりました。

とりあえずインストールできたので安心していたのですが、emacsをインストールしようとしたところで以下のメッセージが出て落ちてしまいます。

colinux: BUG at mm/rmap.c:493

仕方がないのでstable-0.6.4-2をインストールして続行しています。

追加でssh emacs gcc patch makeのパッケージをインストールしたら、なんとかOPEN/Rをビルドできそうなところまできました。