トップ «前の日記(2007-01-19) 最新 次の日記(2007-01-21)» 月表示 編集

日々の流転


2007-01-20 [長年日記]

λ. 関数従属性の落とし穴

以下のようなコードが型エラーになることに驚いた。

class Assoc a b | a -> b
instance Assoc Int Int

f :: Assoc Int b => Int -> b
f x = x

fの型チェック時には個々のインスタンス宣言を参照したりしないから、考えてみれば当たり前なのだが。しかし、関数従属性(Functional Dependencies)やGADTを使うと依存型っぽいことが一部実現できるが、ちょっとでも複雑なことをしようとするとすぐに落とし穴にはまる気がする。本物の依存型が欲しい……

Tags: haskell

λ. YARVへの感慨

そういえば、YARVに末尾再帰用の命令を追加して遊んでいた(20040120#p01)のがもう3年前か。そのYARVもついに本体にmergeされたんだよなぁ……

Tags: ruby

λ. 血圧

血圧計があったので測ってみた。

最高血圧
108 [mmHg]
最低血圧
61 [mmHg]
脈拍数
65 [bpm]