2007-06-17

うん。はてなは「はてな飽きたけど他のに乗りかえるのもめんどい」感があって、長いことそのままだったのだけど、なんか自作したかったのでこっちに移動。 _

HTML生成システム作りなおし。Haskellで書いたよ。まだ色々足りないけど(TODO: コメント機能、過去ログ、アップロード、その他)。あと消えてしまった06-01-29と06-02-02を復元する。 _

外見的には昔のスタイルから色変えただけという気もするが。そんな時はHTMLを見てください。きちんとインデントされてます! _

いや、もはやスタイルなんていらねーよ!むしろRSSさえ出しておけばみんな満足なんだろ!ああ!web2.0の究極の形が、余計な外観を一切排除したRSSファイルでやりとりするとかなのだとしたら、文明の発達とは一体何だったのだろうか!どうでもいいけど、このスタイルは、黒板風をイメージしてるのだけど…微妙な…何が足りないかなー。(引っかいたときに嫌な音が出るとかだろうか?) _

_

そして、このサイトにバナーなどというのがあったことを思い出したのだった(あとでなんとかする→http://morihyphen.hp.infoseek.co.jp/image/banner.png)。かつて昔のwebサイトの自己主張にはねー、バナーというのがあってねー、それぞれの管理人がイタい主張をしてたのだよー。(イタくないのもあっただろうけど)。 _

今のぶろぐ世代の管理人達はどうやってイタい主張をしてるのかなー。 _

_

どうでもよい話として(昔のこのサイトのメインコンテンツは「どうでもいいはなし」だったことを覚えているか!)、僕が本名ではなくて、名前がH.N.になってるのは、出身がそういう文化だったからというのがあるよなー。(ほんとどうでもよい) _

あとTODO: aboutをなんとか。(長野で働いてない) _

2007-06-18

関数型言語のアレは2over(記憶が正しければ)。ワナビーすぎ。 _

- _

ニコニコ見てたら朝。月曜から何やってるんだ… _

Parsec使いかた忘れたな…ていうかこれにParsec使うのはオーバースペックもいいところ。 _

まあいい。動いた。ところでParsecって日本語とかどうなんだろ…というか、Haskellの多バイトって…? _

アレ…なんか書きたかったからわざわざParsecなんて持ち出してきたんじゃなかったっけ…忘れた。眠い寝る。 _

- _

ワナビーってどういう意味かしら。 _

2007-06-19

思い出した。HTMLでリスト作るためにHTML直打ちする必要があったんだった。そのための記法が必要だったのでParsec持ち出したんだ。 _

_

最近ゲーム途中すぎ。↓途中のゲームと止めてる理由とひとこと感想 _

あとマジカルホップやってたらShinobiってどんなゲームじゃったかなー、とか思って、積んでたShinobiを崩し初めた。なんか二段ジャンプの仕様が想定してたのと違う…攻撃当てたあとはもう一回ジャンプできると思ってたのだけど、できないな…こんなんだったけ。 _

やっぱShinobiは良いなー。ちゃんとアクションゲームって感じ。 _

マジカルホップをもうちょっとShinobiに近づけたらどうかな…ゲージが長くなってふよふよ浮いてられるのも良いけど、もっと、「倒し続けないと落ちる」感をなんとか。 _

-- _

permalinkもどき。まだ過去ログのほうが無いので、linkじゃない。そもそもweb上にpermanentなものを作ることはできるか?仕組みとしてはできてても、炎上して脱走、脱走時に全削除とかやったら終わりなわけで。皆さんは気になるサイトは保存しましょう!(これたしかTERRAZINEの人が言ってたような) _

Jでは保存用に最適なテキストバージョンも用意しています。(というか今用意した) _

_

test

-- _

ミラーしてるときはアップロードする前に向こうのを取得しておくこと!(というか、不要なディレクトリを含めないでよい方法を調べる) _

2007-06-21

酔ってる。 _

-- _

酔ってるついでに、前書くとか言って書いてないのの続き。 _

_

と思ったけど酔いすぎて書けにい。 _

というか、続きで書きたかったことは、ここの人が僕よりも詳しく書いてくださったようで、僕の出番は無いと思った。 _

-- _

あと、HaskellのPrintfがおもしろいと思ったのだけど、ここ らへんで書いてあることなんじゃないかなーと思った。(実はよくわかっていない) _

-- _

HaskellのPrintfの挙動として、面白いのは、 _

Prelude> "a" == Text.Printf.printf "a"
True
Prelude> :type (Text.Printf.printf "a")::IO()
(Text.Printf.printf "a")::IO() :: IO ()
Prelude> :type (Text.Printf.printf "a")::(Int->String)
(Text.Printf.printf "a")::(Int->String) :: Int -> String
Prelude> (Text.Printf.printf "a%d") 3
a3*** exception: Prelude.undefined  -- このエラーはなんだ。

文脈に応じて型が変わるというところだと思う。で、ここらへんが型クラスを駆使して色々やっているの(らしいここの最後のほう)だけど、今読んだらわからんかった。 _

わかる範囲で説明しておく。(注意:ここで読んだことは人には絶対に言わないこと) _

まず、printfが返す型は、PrintfTypeのインスタンス。 _

Prelude> :type Text.Printf.printf
Text.Printf.printf :: (Text.Printf.PrintfType r) => String -> r

ここで、IO()が返った場合、Stringが返った場合、フォーマットに対応するパラメータが引数で渡された場合、を、上でsyd_sydさんが書いてたテクニックを使って、場合分けする。 _

instance (IsChar c) => PrintfType [c] where
    spr fmt args = map fromChar (uprintf fmt (reverse args))

instance PrintfType (IO a) where
    spr fmt args = do
	putStr (uprintf fmt (reverse args))
	return undefined
instance (PrintfArg a, PrintfType r) => PrintfType (a -> r) where
    spr fmt args = \ a -> spr fmt (toUPrintf a : args)

上から順番に、Stringを返す場合、IO aを返す場合、フォーマットに対応できるパラメータ(↓このへん) _

instance PrintfArg Int where
    toUPrintf i = UInt i

instance PrintfArg Integer where
    toUPrintf i = UInteger i

instance PrintfArg Float where
    toUPrintf f = UFloat f

instance PrintfArg Double where
    toUPrintf d = UDouble d

なんかそんな。んで、ぐにょぐにょ。(酷い終わりかた) _

2007-06-23

ほい過去ログできた。 _

あとはコメント機能が付けばよいな。 _

アクセス解析とかはどこかのを借りればよいか。僕も弱ったものである。 _

-- _

別にprintfのようなデカい物を持ち出してこなくても、mallocが変な実装になってるのでそれを見ればよいと思った。(libraries/base/Foreign/Marshal/Alloc.hs) _

malloc :: Storable a => IO (Ptr a)
malloc  = doMalloc undefined
  where
    doMalloc       :: Storable b => b -> IO (Ptr b)
    doMalloc dummy  = mallocBytes (sizeOf dummy)

Haskellのmallocは引数をとらない。どうやってるかというと、undefinedの型が a(なんと呼べばいい?)になってて、それが推論のときになんだかんだ。 _

面白いけど、ちょっとトリッキーな気が。もうちょっとスッキリとする方法は無かったのかいなー。 _

-- _

どっかのプログラミング言語はシェルスクリプトを超えられるか。 _

リテラルの話。を、書かない。(最近書かなさすぎ) _

-- _

書きたいコードネタが色々たまってきたのだけど、なんもしてないな…なんかなー。 _

2007-06-28

ほいコメントできた。 _

ニコニコ見ながら、あんな感じでコメント付けられないかなー、と思ったので、なんかやってみたけど、全然違うと思った。(ニコニコ見過ぎ) _

行ごとにコメント付けられます的な。 _

とりあえずこんな感じでいいだろ。今から間違えてアップロードしてしまったファイル達を消す作業に。 _

-- _

そういえばShinobiって攻略動画映えするんじゃないかなー、と思って、ニコニコ探してみたけど、ニコニコばっかだと思った。(いや、そんなに見てるわけじゃないけど) _

いや、そうじゃなくて…あんまり攻略動画無かったという話。タイムアタックとか何も無さすぎて地味だな…いや、なんかボス一瞬で倒してしまって、なにこのクソゲーって感じが。 _

-- _

あー、あと、JavaScriptが有効になってないとコメントは見れません。 _