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

make a killing

意味:「大儲けする」

グラフアルゴリズム

グラフアルゴリズムのお勉強中ですが、全部覚えられねー! おまけに、練習問題が難しすぎのものが混ざっていてお手上げ。

Concurrent Clean : Heapモジュール

Heapモジュールも作った https://cleanoptenv.svn.sourceforge.net/svnroot/cleanoptenv/trunk/AltEnv/Data/破壊的なやつばかりでなくて、関数的なやつも作った方がいいかもしれないけれど。 赤黒木とか二項ヒープとか。 フィボナッチヒープは、論文を斜めよ…

Re: マシン語を知らない子ども達 ([id:shi3z:20070911])

うけた → http://www.jmuk.org/diary/2007/09/12/0 - ところで、ヨクワカラナイノデスケド、機械語そのものを理解して書き下せる必要ってあるんですかね?それから、機械語だけ分かっていればいいのでしょうか? 概念としてコンピュータのアーキテクチャを知…

Concurrent Clean : Hashtableモジュール

Hashtableモジュールが完成した https://cleanoptenv.svn.sourceforge.net/svnroot/cleanoptenv/trunk/AltEnv/Data/

車輪の再発明

「車輪の再発明」で戒めているのは、「不勉強」についてではないの? 車輪があまりにも原始的なのでアレだけれど、車輪という実体についての話ではなくて、車輪を裏付ける理論や技術について先人の知恵を学べば簡単に作れるものを、自分一人の世界で大変な労…

Hash function

Hash関数をどうしようかなと考えていたのだけれど、 http://homepage1.nifty.com/herumi/adv/adv43.html#004 こういうのをみると割算は避けておいた方が無難だなとか思う。

Memoize module

Refを作ったことだし、Hash tableを作ったら、memoize moduleを作ってみよう。

Concurrent Clean : 破壊的操作

なんていうか、Cleanで破壊的操作を書くのがうまくなったなと思う。

Concurrent Clean : 次にやること (2)

シンボルテーブルとプライオリティキューを作ってから、CleanJをやることにした。 - とりあえず、すでにHashtableは作ってあるのだけれど、前から作りなおそうと思っていたので、ここから始める。 https://cleanoptenv.svn.sourceforge.net/svnroot/cleanopt…

Concurrent Clean : 論理右シフト

そういえば、Cleanには、なぜか算術右シフトはあるのに、論理右シフトがないのだった。 - 調べてみると、論理右シフトがない言語っていうのも少なくないのだね。

Concurrent Clean : 接尾辞

S shared 共有 S strict 正格 U unboxed 非ボックス化 U unique 一意 それぞれ、2重の意味がある。

Concurrent Clean : さて、次は何をしようかな?

AltEnvが、それっぽい感じになったので、このあとどうしようかと思っているところなのだけれど AltEnvのライブラリを充実させる Cleanのコンパイラやランタイムのソースに潜ってみる CleanJをもうちょっとまともなものにする というような選択肢があるが。 A…

IPA未踏ソフトウェア創造事業2006年度下期千葉PM採択プロジェクト最終成果報告会

http://www.mitou-chiba.org/ 行ってきた。 SELinux 正直、あまりよく知らなかったので、普通に勉強になった。 しかし、SELinuxというのは、かなり複雑な仕組みだね。何を基準に複雑というのかにもよるけれど、プログラマはこのくらいの複雑さは普通に扱うけ…

ITpro Challenge!

http://d.hatena.ne.jp/hyoshiok/20070907#p2 あー、裏番組でそんなことをやってたんだ。

Concurrent Clean : PartialReader

PartialReaderモジュールを作った。 これは、http://cleanoptenv.sourceforge.jp/wiki/view/tips/lazyIO/で書いた入力ファイルを一部しか読まないというアイデアを、モジュールにまとめたものだ。 これ以前に、入力ストリームを、readBufferという型クラスで…

Passing pointers to tiny structures

http://www.kt.rim.or.jp/~kbk/zakkicho/07/zakkicho0709a.html#D20070905-7 「ポインタを小さな構造体に」入れるのではなくて、「小さな構造体へのポインタ」を受け渡すことを言っているのではないかな?

Concurrent Clean : Re: PassFail

[id:lethevert:20070904:p2]の件だけれど、パターンマッチでマクロを定数として扱えることに気づいた。 :: PassFail f p = Pass !p | Fail !f :: Void = Void PassV :== Pass Void f b = if b PassV (Fail "Fail") g PassV = True g (Fail _) = False なので…

生産性

ここ数ヵ月、コンスタントに新規コードを書く日々が続いているので、生産性を計ってみた。平均1日8時間で1ヶ月約20日の日数(このところ残業0です)で、月におおよそ7000行前後コードが増えている。1日300〜400行くらい。コードを書く他に…

Concurrent Clean : IOモジュール

IO系のモジュールを追加した。まだ試行錯誤中。

Concurrent Clean : PassFail

値を返すかエラーを返す場合には、PassFailという型を定義しているけれど、値を返さないかエラーを返す場合はどうしようか? SQLモジュールでは、Maybeを使って表現していたけれど、はっきりそれと分かる型を用意しておく方がよいように思う。 :: PassFail f…