* まもなく移轉
當サイトはまもなく移轉します。
* みっくみく事件の決着
驚いた。ドワンゴが殆ど完全に折れる形で、しかもこんなに早く決着が付くとは思はなかった。こんな結末になるとは夢にも思はなかった。
* Quốc ngữ と日本語
ベトナム語は六つの聲調を持つ言語であるが、現在それを表記する爲に用ゐられてゐる Quốc ngữ ではその六声調を書き分ける事が出來るらしい。
* 自然物と信仰/生體機械としての人間/初音ミク/オープンソース戰爭
みっくみくが JASRAC された件には非常にもやもやとさせられる。だから出來るだけ消化しようと試みた。Every man thinketh his burden is the heaviest.
* HsHyperEstraier 0.1
HyperEstraier の Haskell 用バインディングである HsHyperEstraier を公開した。
_
sábado, 4 noviembre 2006
そらごよみ
Cuenta Larga = 12.19.13.14.1; tzolkin = 1 Imix; haab = 14 Zac
[Trackback Ping]
あやくもさんのそらごよみは驚くべき作品だった。
一人の人間が同時に司と涼平になる事など出來ぬ筈なのに、それなのにこの小説が手元に在る事には、混乱させられる。文章を書く事の出來る者は、大抵は、自分の事ならば書けるものだ。だが、自分ではない事についてはどうか。
多分この事が『作家』と『作家でない者』を
普段殆ど小説を讀まない私が言ふのも難ですが、『そらごよみ』はここ數年で讀んだ小説の中で最も面白かった。特に同人の小説ではこれまで面白いと思ったものが殆ど無かったので、あまり期待せずに讀んだだけに驚きも
_
Expo のバナーを外さうとして初めてトラバに氣附いたりして。
確かに言はれて見ればその通りで、私は自分の眼で見て判斷すべきだと思ふ。他人事ならば幾らでも冷靜になれるが自分の事となるとからっきし駄目だ。だからこんな風になっても平然と指摘して呉れる人は有難い。
_
ころぺたの當たり判定コピペについて。
右側に出てゐる當たり判定一覧の部分で右クリックすると、當たり判定のカット/コピー/ペースト/順序變更等が出來るやうにはしてありました。しかし大きな問題があって、それは一度に二つ以上の當たり判定を撰擇出來ない事。
いや良く考へたら當たり判定をコピペしたい時は、普通はサーフィスの全部の當たり判定をコピーして他のサーフィスにペーストしたくなるのは當然だと思ふのですが、これを實裝した時の私は何も考へてゐなかったんですかね。兎に角言はれるまで氣附かなかったので感謝です。
あとリストだけでなくサーフィス畫像上の當たり判定でも右クリックメニューが使へるべきだと思った。少なくとも右クリックと左クリックが同じ結果を引き起こすべきではない。
_
Haskell は樂しい。コンパイル時に行ふ事の出來るチェックが強力なので、コンパイルが通った後のコードが實行時エラーを起こす餘地を大きく減らす事が出來る。何せ null と云ふ概念が先づ存在しない。
func :: String -> String
func str = "[" ++ str ++ "]"
このやうに、單に String を取って String を返す關數に null を渡す事は絶對に出來ないし、null を返す事も絶對に出來ない。もし null を返したければ「この關數は意味のある値を返さないかも知れない」と云ふ事を明示的に言はなければならない。
func :: String -> Maybe String
func str = if (length str) == 0
then Nothing
else Just ("[" ++ str ++ "]")
でも次のやうに書いた方が簡潔。
func :: String -> Maybe String
func "" = Nothing
func str = Just $ "[" ++ str ++ "]"
モナドは何如にも恐しく見えるが、實際にはそれほど恐しい怪物ではない。特に IO モナドは「何らかの入出力操作をせよ」と云ふ命令と命令とを繋いで行き、最後に纏めて實行する爲のものに過ぎない。
cat :: IO ()
cat = do input <- getContents
putStr input
main :: IO ()
main = cat
この cat 關數を perl で書いたらこんな感じ:
sub cat {
my @io_action;
push @io_action, sub {
local $/ = undef;
return scalar <STDIN>;
};
push @io_action, sub {
my $input = shift;
print $input;
};
return \@io_action;
}
要するに cat 關數が實行された時點では「入出力操作の手順」が決定されただけであって、入出力操作そのものが行はれたのではないから、cat 關數は副作用を起こしてゐない。入出力の手順に従って實際に副作用を起こしながらこれを實行するのは Haskell 處理系の役目であり、Haskell レベルでそれを直接引き起こす事は(普通には)出來ない。これが Haskell の戰略なのだ。
詳しくはふつけるを讀むと良いです。
2002
10
11
12
2003
1
2
3
4
5
6
7
8
9
10
11
12
2004
1
2
3
4
5
6
7
8
9
10
11
12
2005
1
2
3
4
5
6
7
8
9
10
11
12
2006
1
2
3
4
6
7
8
9
10
11
12
2007
1
2
3
4
5
6
7
8
9
10
12
2008
1
4