No Such Blog or Diary
今日の迷惑メール
- 2011-11-30 (Wed)
- 一般
タイトル「魔女の宅急便のキキについて」
本文「魔女の宅急便のキキは自分の事しか考えてない」
……
だから何なんだか.
- Comments: 0
- TrackBack (Close): -
トラックボール導入
- 2011-11-30 (Wed)
- 一般
なんとなくトラックボールを導入した.Logicool の M570.Unifying レシーバ対応なのでキーボードと一緒にレシーバ1つで済むのが有難いかも.
とりあえず,左クリックをしようと思ったときにボールを押し込む動作をしてしまう癖があるらしい事が判明した.なぜだらう? 親指が痛い……
- Comments: 0
- TrackBack (Close): -
RecordWildCards が便利だなぁ
Type class で可換半郡を次のように書いていた.
class CommutativeMonoid a where oplus :: a -> a -> a, -- commutative, associative identity::a -- the identity of oplus data Bag a = Bag [a] deriving (Show,Ord,Read) instance CommutativeMonoid (Bag a) where oplus (Bag a) (Bag b) = Bag (a ++ b) identity = Bag []
んで,type class だと不都合が生じたのでレコードで演算をまとめて持ち運ぶようにしたのだけど,定義部分に限っては RecordWildCards を使うとほとんど同じように書ける.演算の集合を定義するという点では type class でもレコードでも手間は大して変わらないっぽいねと. 楽だし簡潔でいい.
data CommutativeMonoid a = CommutativeMonoid { oplus :: a -> a -> a, -- commutative, associative identity::a -- the identity of oplus } data Bag a = Bag [a] deriving (Show,Ord,Read) bagMonoid = CommutativeMonoid { .. } where oplus (Bag a) (Bag b) = Bag (a ++ b) identity = Bag []
インスタンス宣言に同じクラスの別のインスタンスを使う,例えば
instance (CommutativeMonoid a, Ord c) => CommutativeMonoid (Map c a) where oplus x y = unionWith oplus x y identity = empty
とかも
mapMonoid m = CommutativeMonoid { .. } where oplus x y = let CommutativeMonoid {..} = m in unionWith oplus x y identity = empty
と書けばほとんど同じ雰囲気かね.let を内側で使ってあげるのが大事.下のようにやると定義の本体の oplus が新しく定義される oplus になっちゃうのでエラーを食らう.
mapMonoid (CommutativeMonoid {..}) = CommutativeMonoid { .. } where oplus x y = unionWith oplus x y identity = empty
- Comments: 0
- TrackBack (Close): -
今日のイチョウ
ジャケットのポケットに入れておくにはちょっと重いなぁ…… やっぱカラビナで腰にくくりつけておくとかが良いのかもしれない.
- Comments: 0
- TrackBack (Close): -
さて、終電を逃しましたよ
- 2011-11-29 (Tue)
- 一般
作業に集中していたらいつの間にか終電を逃していた.どうしませう?
お家まで歩いて帰っても1時間半だし考え事をしながら帰るか…… ゴミ出したいし.
追記:ぴったり1時間半で家についた.曇っているせいか大分暑かった印象.
- Comments: 0
- TrackBack (Close): -
道徳の問題(配点:迷惑メール5連)
- 2011-11-28 (Mon)
- 一般
問題:「補足事項」および「Re:補足事項」というタイトルで次の5通のメールが迷惑メールフォルダに入っていた.どのように対処すべきか答えよ.
まぁややこしいかもしれないですが、連絡先を集めると言い放った時点で、○○さんの連絡先が集まってる事を示唆しています。あえて取り除く事もないですが、回数というのはそういう事も含みます。もしかするとわかりにくいかもしれませんが2011年11月28日21:49
転送するにとどめる、といっていたので、転送をするんだったら、直接的に得られるのか、というのが質問で、悪意があるように思われるのは心外です。2011年11月28日21:51
つまり、巻き込まれては迷惑だろうから、ルートとして、外そうと思っただけです。中間的な立場というのもかえって不安定かと思ったので2011年11月28日22:11
つまり実際的には転送先のメールアドレスに送る事が主の目的の時に、送り先がないために、大学のメールアドレスに対して送る事があった際に、文面としては、転送先のメールアドレス上でどのように見えるのか、という事を主に思うので、かえって、大学のメールアドレスに対して送る文面としては奇妙になるかもしれず、そういった事態を未然に防ぐというのが主な目的です。2011年11月28日22:13
転送される状態にある状態で、メールアドレスを直接的に求める意義としては以上になります。
模範解答:スルー.
- Comments: 0
- TrackBack (Close): -