トップ «前の日(06-12) 最新 次の日(06-14)» 追記

日々の流転


2001-06-13

λ. そうそう。「小泉内閣メールマガジン」に登録。今さらだけど。

λ. あうー、今日もTODOをこなす予定。Gimp-RubyのTile周りのバグもそろそろ潰さないとな。つうか、俺スケジューラのバギーなPriority Queueをまずフィックスしろって感じっすか? まったくですよ。面倒なものは知らぬ間に最低の優先順位にniceされてたりしてダメすぎだもんな。はぁ。

λ.

3時起床。

λ. 「記号を喰う魔女」

というタイトルを見て、魔女に喰われた記号が消えてしまうんなら、表現できない命題が発生するんでは? そのうち「魔女」自体も表現できなくなったりして。;-) …とかちょっとだけ思った。微妙にSlayersを思い出す。

λ. クラスで呑み

今日は人数が少なかったけど、かえって落ち着いてて楽しかった。


2002-06-13

λ. 自然言語論 構文解析実験

文脈自由文法なんてどうということはないのだけど、日本語の品詞名がわからんよ。連用句ってなんだっけって感じ。

λ. 夕食

家族で銀座アスター

とても美味しかった。今日は満足。

Tags:

λ. endofunctor

日本語で書くと自己関手かな? domainとcodomainが同じ圏であるようなfunctorっす。

Tags: 圏論

2003-06-13

λ. Linear Logic

線形論理についてちょっと調べる。

Tags: logic

λ. 今日の向井研

先週話すつもりだった、最小不動点に関するイントロダクションを話してみる。

Tags: 向井研

λ. 夕食

片山さんとニューオリ。鶏肉のトマト煮スパゲティ。

Tags:

2005-06-13

λ. 東方花映塚 体験版キター!

といっても、今は人狼BBSをプレイ中なので、それどころじゃないけど。

Tags: 東方

2006-06-13

λ. evaluate aa `seq` return a の違い

Control.Exceptionevaluate :: a -> IO aevaluate' a = a `seq` return a で定義した evaluate' :: a -> IO a の振る舞いは異なる。evaluate ⊥ ≠ ⊥ = evaluate' ⊥。しかし、これがControl.Exceptionモジュールにあるのは何でだろうね。

Tags: haskell

λ. 今日の IT system

  • Ghost Researcher
  • 修論をブログで書く。Web 2.0
Tags: tom

2008-06-13

λ. また国債買った

去年の8月に利付国庫債券(5年)(第65回)を買った。このときは表面利率1.5%で、その後の募集では利率が下がっていたのだけど、今日から募集している利付国庫債券(5年)(第72回)では表面利率が1.5%に戻っていたので、また少し買ってみた。

Tags: money

2009-06-13

λ. “Data types á la carte” by Wouter Swierstra

を読んだ。これは以下を使って、いわゆる Expression Problem を解決する話。

  • 明示的な不動点の構成
    • data Expr f = In (f (Expr f))
  • シグニチャ関手の埋め込みを表す型クラス
    • class (Functor sub, Functor sup) ⇒ sub :<: sup where inj :: sub a → sup a
  • 定義したい関数毎の型クラス

例えば、式の型に乗算を追加して、それを扱えるように評価関数を拡張するには、以下のようなものを書くだけで良い。

data Mul x = Mul x x

instance Functor Mul where
  fmap f (Mul x y) = Mul (f x) (f y)

-- スマートコンストラクタ
infix 7 ⊗
(⊗) :: (Mul :<: f) ⇒ Expr f → Expr f → Expr f
x ⊗ y = inject (Mul x y)

instance Eval Mul where
  evalAlgebra (Mul x y) = x*y

ちょっと、「へぇ」と思ったのは、data Term f a = Pure a | Impure (f (Term f)) で定義されるモナド Term f は自由モナドだけど、Term自身もモナドの圏から関手の圏への忘却関手の左随伴になっているという意味で自由、という話。

あと、オーバーラップするインスタンスを使うから Haskell 98 じゃないと言っているけど、そもそも f :<: g という多引数の型クラスを使っている時点で Haskell 98 ではないだろと思った。

関連