syntax-rulesの健全性

しばらく前にドブロブニクイスタンブルに旅行に行ってきた。イスタンブルにいたのが丁度twitterが遮断されていた時期で、はーこんなこともあるもんだなと珍しがったりしていた。土産はクロアチアビールと干しイチジクだが最近人と会わないので減る気配がない。


旅行中にR7RSを読んでいたらおやっと思うところがあったのを思い出したので書いておく。syntax-rulesによるlet-valuesの定義の部分だ。

5,6番目の規則のtemplateで未束縛のidentifierであるxが挿入されている。コードを見るとxがgensymで生成したシンボルのようにふるまうことを期待されていることがうかがえる。この振舞いはR7RSで保証されているのか、されているならどのような仕組みによるのか、というところが今回気になった部分。

結論から言うとR7RSの4.3.2-Pattern languageの部分にidentifierの健全性についての規則が書いてある。

Identiers that appear in the template but are not pattern variables or the identier hellipsisi are inserted into the output as literal identiers. If a literal identier is inserted as a free identier then it refers to the binding of that identier within whose scope the instance of syntax-rules appears. If a literal identier is inserted as a bound identier then it is in eect renamed to prevent inadvertent captures of free identiers.

xが適用されるのは太字部分。ぶっちゃけるとここの英語がよくわからないのが一番苦労した部分なのだけれど(ワハハ)。よくわからないので和訳から引用。

もしリテラル識別子が自由識別子として挿入されるならば,その場合,その識別子の束縛であって,かつ元々のsyntax-rules のインスタンスが現れている箇所を含んでいるようなスコープの束縛が参照される。

なるほど???


最後に参考になったものを

# 追記
explicit-renamingのrenamerが行う処理もこれと同じ(らしい)
ただ、renamerとは別にgensymがあった方が便利なシチュエーションはある気がする

R7RSをKindleで読む

最近Kindleを買ったのでいろいろなものを突っ込んでみているのですが、R7RSのpdfはフォントが小さすぎてとても読めたものではないですね。さてどうしたものか

などと思っていたらR7RSのMakefileにebook用のオプションがあるのを発見。こっちからソースをDLしてunzipしてmake r7rs-ebook.pdfとするとebookに最適化されたpdfが掃き出されます。大変読み易くて素晴らしい。R7RS日本語訳についても同様の手段でいい感じのpdfを作成可能。

ppcでpicrinが動いた

といってもコンパイルして動かしただけ。コードの移植性が高いのですね〜

$  make tak
[ 96%] Built target picrin
[100%] Built target repl
Scanning dependencies of target tak
21.620000
[100%] Built target tak

検証機は大学から拾ってきたG4 mac mini。メイン機でmake takすると3秒。実力差を感じる

引越した

活動の中心となるキャンパスが変わるのに合わせて引越しをしたのでその時の諸々についてメモ

部屋探し

別に知り合いに不動産屋がいるわけでもなく、部屋探しの際には大学の生協と連携している不動産屋を使った。きっとある程度は信頼できる所なのだろう。
先輩に引越しについて相談した時には「一回目に見に行った物件は全部蹴って二回目で決めた方がいい物件が見つかる」と言われたのでそうしようかと思っていたのだが、一回目で旧居と同じような条件の物件が見つかったのでそこに決定。当日にキャンセルがでてちょうど空いた物件だったらしいので運が良かったんだろう(本当かは知らないけど)
しかし大学と連携していることとこの時期に皆引っ越すこともあって不動産屋に同じ大学の人間が多いこと多いこと。知ってる人間を3人くらいは見た。

後日その不動産屋経由で引越し業者が電話してきたり、インターネット回線をどうこうすればキャッシュバックがどうのこうのと電話してきたりしたが適当に答えて無視で済ませた。別にいいです。

電気ガス水道

東京電力が引越し連絡帳というものを提供している。
引越し 手続き&公共料金の住所変更サービス | 引越れんらく帳
一度旧居新居等の情報を打ち込めばそれでライフライン周りの移転手続きを済ませられるという超絶便利な代物だ。特に東京都内の引越しであれば全部これですむ。

インターネット

インターネット回線を新規契約すればキャッシュバックが云々みたいな話をよく聞くが、正直よくわからん。キャッシュバックするくらいなら最初から安くしてくれ。という部分があったのでそのような方針にした。
回線についてはフレッツ光の移転手続きで済ませた。移転だと工事費用が不要だから、とりあえずこれで20Kほど得したことになる。キャッシュバック糞くらえだぜ
プロバイダの方はまだ何もしていないのだが、余計なサービスがなくとにかく安いところがないかなと探しているところだ。

引越し業者

どうせなら安いところに頼みたい。引越し一括見積もりというサイトがいくつかあるがどうなんだろう
引っ越し一括見積りサイトが単なる個人情報転送サイトだった話 - インターネットの備忘録
じゃけんこれはやめときましょうね〜

結局のところ、適当に大手選べば大丈夫だろうという安直な発想によってクロネコヤマトが選ばれたのであった
おトクでお手軽な家族引越サービス|ヤマトホームコンビニエンス
段ボールと2tトラックと作業員3名で40kほどだった。お任せフリー割引というのを利用して30kほど割り引いて、新居が高い場所にあるので10Kほど割増になっている。これが相場に比べて安いのかどうか僕にはわからないが…まあそんなところなんじゃないかと思う

段ボール詰め作業は友人に手伝ってもらったもののやる気の不足に苦戦して結局一日と半分かかってしまった。辛い。
引越し業者の方は流石プロというかかなり手慣れていて非常にスムーズに引越し作業が進んだ。運び出し、運送、運び入れがそれぞれ1時間ほどで済んでしまったので肩すかしをくらってしまったような感じだ。作業員の方の人当たりも良く個人的には高評価であった。多分次の引越しもクロネコを使う

新居の立地について

旧居は世田谷だったのだがどうもそこと比べると見劣りがするのは仕方ないことなのだろうか。
最も惜しむらくはあの下北沢が遠ざかってしまったことだ。電化製品以外は大体あそこに行けば揃ったし休日にあそこをぶらぶらするだけでなかなか楽しかったものだ。新居の周辺には韓国料理屋しかない。

まだ段ボールの展開は済んでない。誰か手伝って

駒場祭でTSGの展示にずっといたお話

先日の駒場祭で理論科学グループ、通称TSGの展示をやってきました。

展示したもの

BayesianFighter

スマートホンをコントローラとしてコマ同士を戦わせるゲーム。多人数で同時に遊ぶことができるし展示向きでいい作品だったと思います。解説のポスターも力が入っていてよかったですね。

Fluid Orchestra

画面の動きというか、カメラに写った人の動きですね。メディアアートっぽいオシャレな展示でした。子供が超ハイテンションで指揮している様子を眺めるのが面白かったです。

GomiHiroi

自分の作ったやつです。わかる人には割とうけていた印象。外国人に「GCはわかるけどこれのどの辺りがGCなのかサッパリだね(英語)」と言われてうまく説明できなかったので辛かった。

#S.H. >>

芸術作品っぽい展示になってた。本人曰く圧縮のデモではなく合成のデモだったらしい。正直原理がよくわからんかったから作成者は早よ解説記事書いて

(tweetはない)

まずネーミングが渋い。いい感じのオーソドックスさ漂うゲームでした。たまにゲーマーが現れて長時間プレイの後すごいスコア残して去っていったりしていました。


その他、部員から二つほど以前の展示に使ったものをまた出してもらったりしてました。

BayesianFighterとFluid Orchestraは本当優秀でしたね。開発者の後輩二人には当日の展示でも手伝ってもらいました、多謝。

いろんな来場者

印象に残った来場者など

  • 毎年TSG展示に現れるらしい「最近のTSGはゲームしか作っていない、けしからん」というおじさん
  • 「優秀な技術者はちゃんと自分の技術をアピールしないといかん、出世できんぞ」と後輩をつかまえて力説していたおじさん
  • 平安京エイリアンまだ動いてるの?」と聞いてきた30年前の化学部OB
  • ぬるぽへ、わさびず両氏が彼女をつれてやってきた
  • 大分前のOBから2000年くらい入学のTSGerにzeptoという人がいると言うことを聞かされる。まさかの名前衝突に衝撃。
  • TSGのtwitterアカウントを見てやってきたと言う女の子と女装男子の二人組
  • 各大学の横のつながりをつくろうとしている団体を主催しているおじいさんから説明をうけるなど
  • 熱心に展示を見ている人がいると思ったら受講している講義のTAだった
  • その他もろもろ

Virtualboxのインストールにてこずった話

大分前の話ですが、Windows8.1なるもののプレビュー版が公開されていたのでインストールしました。
その後にvirtualboxをインストールしようとすると「パス名が間違っています」といった感じのエラーメッセージでインストーラがそもそも起動しない。

同じような症状がないかと思って「windows8.1 virtualbox インストール」という風なワードで調べるとvirtualboxにwindows8.1をインストールした記事しか出てこない。違うそうじゃない、逆の情報が欲しいんだ俺は!!

結果としてはwindows8.1そのものが悪いわけじゃなかった

Win8でvirtualboxをダウンロードしたが、「installation faild Error」と表示され、インストールできない。

windows8.1ではデフォルトでユーザーアカウントがMicrosoftアカウントに紐付けされたためユーザーネームが日本語になり、結果virtualboxがマルチバイト文字の入ったパスを読んでエラーを吐いたということらしい。virtualboxはこのご時世に何をやっておられるのだろうか。