2013年09月29日

iPhone 5s

を購入しました。
4s からの乗り換え。
個人的にはテザリングできるようになったのが嬉しい。
電車の中でノート PC 開いてネットにアクセスできるよ!
本体が縦長になったのは嬉しくないです。
下の方を持ってると上の方まで指が届かなくなりました。
フラットデザインは、デザインの方向性としては別に構わないのですけど、
個々のアイコンのデザインはイマイチだと思います。
Siri はお店を検索できるようになりました。
「お腹空いた」とか「ステーキ食べたい」とか言うとリストアップしてくれます。
これは何気にいいかもしれない。
posted by milkpot at 13:11| Comment(0) | iPhone

2013年08月10日

夏休み

を一週間げっと!
来週いっぱいお休み〜
posted by milkpot at 10:24| Comment(0) | 日常

2013年07月06日

暑い・・・

死にそう・・・
ばたんきゅー・・・
posted by milkpot at 15:18| Comment(0) | 日常

2013年06月16日

include とマクロ

R7RS draft 9 によれば、 include 構文は including file を含むディレクトリの中のファイルを検索するべきとある。
例えば以下のようなプログラムがあったとすると、


foo/x.scm:
(include "z.scm")


including file であるところの foo/x.scm を含むディレクトリ foo の中のファイル z.scm 、つまり foo/z.scm ということであろう。
こういう単純な例なら何も問題はない。
しかしマクロが絡むと、事態は複雑になる。
例えば以下のような場合どうするか?


foo/x.scm:
(include "../bar/y.scm")
(includez)

bar/y.scm:
(define-syntax includez
(syntax-rules ()
((_)
(include "z.scm"))))


普通に考えると、マクロ includez は foo/x.scm 内に展開され、 foo/z.scm をインクルードするべきように思える。
しかし hygiene 的にいえば、 (include "z.scm") しているのはあくまで bar/y.scm であるから、そこをベースに bar/z.scm をインクルードするべきではないだろうか。
マクロの使用場所によって foo/z.scm になったり hoge/z.scm になったりしてはいまいち使いにくい。
しかし以下のような場合はどうする?


foo/x.scm:
(include "../bar/y.scm")
(inc "z.scm")

bar/y.scm:
(define-syntax inc
(syntax-rules ()
((_ name)
(include name))))


実際に include を呼んでいるのは b/y.scm であるといっても、ファイル名 "z.scm" を指定しているのは foo/x.scm であって、この場合 foo/z.scm をインクルードするべきであろう。

と、ここまで考えて、たぶん文字列 "z.scm" の出所を追跡し、その場所をベースにするのが良さそうに思えてきた。
posted by milkpot at 18:33| Comment(0) | Scheme

2013年06月14日

新しい Time Capsule

を買いました!
思ってたよりも大きい印象。
HDD を搭載してない Extreme と同じ外形寸法なので、これはアンテナに必要なサイズなんでしょうか?
ともかく、 a/b/g 対応だったうちの無線環境を置き換え、a/b/g/n/ac 対応になりました。
といってもノートは買い替えていないので ac はしばらくお預け。
posted by milkpot at 02:26| Comment(0) | Mac