2005-01-01から1ヶ月間の記事一覧

虹色の曲線

ParametricPlot3Dは変なところでオプションを指定する。 ParametricPlot3D[{Cos[5 t], Sin[3 t], Sin[t], {Thickness[.02], Hue[t]}}, {t, 0, 2 \[Pi]}, PlotPoints -> 500];

Re:http://www.sampou.org/cgi-bin/haskell.cgi?HowTo%3aQuickCheck&l=jp

接頭辞 prop_ には何の意味もない。適当な名前 (i_want_to_check x = ... ) でもよい。ただし、引数が最低一つは必要で、かつ、引数の型を "types" という関数で教える必要がある(テストできる型に型推論できる場合はその必要はないが、しかしテストできる型…

再犯者率に関する反論への反論

私のblogを見ていてhttp://sheepman.parfait.ne.jp/さんを見ていないひとが居られるのかどうか甚だ疑問ではありますが: sheepmanさんからhttp://d.hatena.ne.jp/yts/20050120への反論を頂きました。 書き換えないつもりでしたが、寿命を終えたと思うので、対…

Continuation Monad (4)

一応最後まで書いておく。でも随分前に書いたのでどう考えたのかは忘れてしまった。 13.4 Coroutines まずcoroutine macroを定義する。 (define-macro coroutine (lambda (x . body) `(letrec ((+local-control-state (lambda (,x) ,@body)) (resume (lambda…

ヒラガナ。平仮名。 かたかな。片仮名。 かんじ。カンジ。反応時間を測る実験ができそうだ。

GPLの問題点

Kazuho Oku氏の主張がなぜ理解されないのか不思議だ。私の理解するところによると、こういうことだ。世の中には、GPLを良く理解しないまま自分のソフトウェアをGPLにしてしまう、あるいはしてしまった人がいる。その人達に、GPL*1の危険性に対する、つまり、…

parseDocument (HXT)

HXML ToolboxのparseDocumentは、a_validate="0"にしているのに、XHTMLのDTDをw3.orgに取りにいく。時間がかかった挙げ句に一部のファイルが無いといってエラーに終わった。validateしないんだからいらないでしょ。 getXmlDocumentあたりを使えばいいのかも…

http://www.elfen.instat.ne.jp/~pukiwiki/pukiwiki.php?%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%2Fbelong.inc.phpを使うとrelatedとは違ってカテゴリがdigraph*1になる。 *1:覚えたての言葉を使う人

Graphのisomorphicであるかを判定することが難しい問題であるということを知った。

見直しがすすむGPL Matzにっき(2005-01-25)Stallmanを信用する事とFSFを信頼する事は同じなのだろうか? 組織の自己同一性はどう保証されるのだろう?例えばa bus hits Stallmanしたり、そうでなくてもいつかは指導能力を失うわけだけど、その後何が起こるか…

Memory Leak (Hugs Only)

ちょっとしたテストデータの生成にrunhugsを使おうとして詰まった。 多分CAF leak> putChar 'a' ... というものに評価されてだんだん大きくなる">*1なのだろうけれど、Hugs(runhugs)では「長い時間」データの出力をつづけることはできないのだろうか? 例 1 …

pack / unpack

perl(,ruby, python, php..)のpack/unpackがHaskellから使いたい。 Gnet LibraryにFFI?

PukiWikiは":"で始まる名前とrelatedを利用してカテゴリ分けができるというのだけれど、":"はrelatedによって表示されないので、カテゴリがカテゴリに属すことができない。":"で始まらない名前だと今度はどちらが下なのかわからない。 ある概念を唯一のカテ…

Story Programming

オブジェクト指向型 主に会話によって進行する小説。ライトノベルに多い。 登場人物を綿密に設定すれば話はあとから付いて来るという考え方。 純粋関数型 人畜無害な小説。 手続き型 「昔々あるところに、…」で始まるなど、由緒正しい手続きにのっとった小説…

Re:http://d.hatena.ne.jp/syd_syd/20050120#p1

appAndShow (Func f) (Obj x) = let f' = fromJust $ cast f in show $ f' xだと、f'の型は、引数の型はObjの中身から決まりますが、返り値については showの引数なので Show a castの返り値となっている関数のものだから Typeable a -- (Obj (x :: x)) f' :…

国家的見地からのミーガン法の経済学

ある犯罪の再犯者率(犯罪者のうち再犯者がしめる割合)がであったとする。ミーガン法によって、再犯者率が例えば、になるとする。どのような効果が期待できるだろうか? 答え 件ほどその犯罪が減ることを期待できる。ここではその年度のミーガン法を実施しな…

Block と Module の違い

Mathematicaにおいてもっともsubtleな点の一つではないか。 説明 Blockは既存の変数を書き換える。 Moduleは新しく変数を生成する。 x = y; y = 0; z = 2;と定義してあるとする。このとき、x を評価すると 0 になる。 Block[{y = 1, z}, {x, y, z}]は {1, 1,…

Writer Monad

Int as Monoid 整数は加法についてモノイドである*1。Monoidのインスタンスにしてみよう。 instance Monoid Int where mempty = 0 mappend = (+)sum' :: [Int] -> Int sum' = mconcat vecPlus :: (Int, Int) -> (Int, Int) -> (Int, Int) vecPlus = mappend …

ページのタイトルを変更してみる。でも重要なのはURIです。 正確にはsome of the eight stones for meな感じ。 >

Tree Monad

探索とは、まず解の候補を葉とする木を作って*1、それからその木の枝をあるアルゴリズムで辿って解を発見することである*2。リストによるバックトラックを利用した探索は、木を作る端から全部フラットにして深さ優先探索をしているのである。探索アルゴリズ…

getSkipChan

http://d.hatena.ne.jp/syd_syd/20041224#1103830417より。

解読

一時間半もかかったが解読できたのでメモ。腕力がない… 相異点 最初にtransposeしてColor視点にはしない*1 module D050115_2 where import Data.List type Color = Int type Box = [Int] tama :: [Box] -> (Int, [[Color]]) tama = head . tamas tamas boxes…

リストを要素数が指定されたグループで分ける

Quiz 次をみたす関数groupsを定義せよ。 groups [p_1, p_2, ..., p_n] listは { {s_1, s_2, ..., s_n} | s_i ⊂ list, #s_i = p_i, s_i ∩ s_j = φ }を返す。順序は(与えられたリストの並びを基準にして)Haskellのsortが並べる順であることが望ましい。 例 *Gr…

Search

このコードにいたく感心したので、探索について考えた。 dfs :: (a -> [a]) -> a -> [a] dfs f x = x:(f x >>= dfs f)bfs :: (a -> [a]) -> a -> [a] bfs f = bfs' . (:[]) where bfs' xs = xs ++ bfs' (xs >>= f)http://www.lab2.kuis.kyoto-u.ac.jp/~hanat…

仕込み Monad Transformer

[id:yts:20050112#p2]の続き。ReaderTの特別な場合なので: module ReaderTick where import Control.Monad.Reader type TickT m a = ReaderT (m ()) m a runTickT :: Monad m => TickT m a -> m () -> m a runTickT = runReaderT tick :: Monad m => m a -> …

できればいいのだが。 前のn日分では日付順に表示されるという設定が クリックするのが面倒だ。 一日毎に表示されるようにしてみたが今度は何度も ソースコードを張り付ける時にはそうもいかない。 困る。下から読む事に慣れるという手もあるが 早い日付のも…

仕込みIO

http://d.hatena.ne.jp/syd_syd/20050111#p1モナド則は満たしません。 *Main> flip fromOIO signal $ return () >>= return >>= return ! ! !liftされたアクションに「タグ」をつけてそのタグが出てくるごとに何かする、という感じでやればいいような気がし…

リストの要素をn番飛ばし毎にグループに分ける

http://www.sampou.org/cgi-bin/haskell.cgi?blog:Everyday%3a2005-01-11&l=jp 取り残された気分だけど、最短記録部門(何?)で挑戦。 f n = foldr (\x y -> (x:last y):init y) (replicate n []) g n=foldr(\x y->(x:last y):init y)$[1..n]>>[[]]それぞれ 5…

via: Moved http://amb.vis.ne.jp/mozilla/scrapbook/は便利。 http://amb.vis.ne.jp/mozilla/scrapbook/todo.php?lang=jaで 取り込んだページ中に直接コメントを貼り付ける編集機能 サイト丸ごと保存、リンクをたどってページを収集する機能(2階層以上) …

一冊ぐらいグラフ理論の教科書を買っておきたいと思ったのですが、どれがいいやらわかりません。Introduction to graph theory, R.J. Wilson が有名なようですが、お薦めがあったら教えてください。 http://www.amazon.com/exec/obidos/tg/detail/-/04862477…