haskell

Haskellのタプルの秘密

突然思い付いたのでやってみた。 Prelude> :t (,) (,) :: a -> b -> (a, b) Prelude> (,) 1 2 (1,2)うわ、やっぱりだ! しかし冷静に考えると、これだと「(1, 2, 3)」がうまく機能しないように思える。 (「( (1, 2), 3)」か「(1, (2, 3) )」になってしまうよ…

Haskellで継続ベースのwebアプリを構築できるフレームワークを調べた。 WASHという奴らしい。 暇が出来たら試してみる(Arcよりも優先順位低い)。 http://www.ice.nuie.nagoya-u.ac.jp/~h043078b/wiki.cgi?page=WASH 例のArcの「said」アプリを作って比べるペ…

いつのまにか、ghcのバージョンが6.8.2に上がっていたのでアップデートした。 6.8.1では正常に動かなかった各種の問題が解決されていた。 Vista対策で、*.exeを生成した時に、一緒に*.exe.manifestが生成されるようになっていた。 Vistaは、このmanifestファ…

開発環境構築手順をまとめ直した。 http://e.tir.jp/wiliki?hdn%3a%b3%ab%c8%af%b4%c4%b6%ad%b9%bd%c3%db 無駄に手間がかかった。

あれから、ghc-6.6.1でWin32モジュールをインストールしてみようとしたら、 Win32-2.1.0.0では、bytestringモジュールが必須になってる bytestringモジュールの*.cabalファイルが、1.2.*以上のCabalシステムを要求する Cabalをアップグレードする bytestring…

ghcをアップグレードしたらWin32モジュールのインストールが失敗するようになった

ghcが6.8.1になり、ChangeLogによると更なる最適化がなされているっぽいので、早速6.6.1をアンインストールし、古いモジュールも削除してから、6.8.1をインストールした。 そして、これまで通り、まずはWin32モジュールから再インストールしようとしたところ…

結論: Haskellは難易度が高い。 クソゲーが一応動くようになった。 http://e.tir.jp/wiliki?hdn%3a%ba%ee%c0%ae%ca%aa SDL-ttf使っていると何故か、ghcに「-O」で最適化を指定するとエラーが出てコンパイルできない。詳細はhdnの方に書いた。 以下は、とりと…

少しだけまとめた。 http://e.tir.jp/wiliki?hdn%3ahcs

Haskellにもevalを。 http://www.cse.unsw.edu.au/~dons/hs-plugins/html/ http://www.cse.unsw.edu.au/~dons/hs-plugins/index.html ランタイムコンパイルをやっているっぽい?

Haskellの構文やルールは一見、「なんでこれがこうなんだ!?」と思えるものが多いが、書いてみると、確かに、「ああ、なるほど……」と納得せざるをえない物が多い。 なんでenum用途の型を「data」予約語で定義するのか、とか。最初は紛らわしいだけじゃない…

ほぼ間違いなく、自分がHaskellの記法をちゃんと調べていないのが原因だが、タプルやデータ型を展開する時のコードが異常に冗長になって困る。 updateGK TextFeed (GiantKen {quitted = quitted ,gkvars = (GKVars {currentState = currentState ,scenarioTr…

とりあえず、テキストゲーム(要はノベルゲームっぽいの)を作ってみようという事になったが、どうにも状態を表現しづらい。 型制約に引っかかって上手く記述できない。 そして、上手く動くように記述しようと直すと、どうにも直感的な記述にならない。 特に、…

本当にHaskellにeval無いか自信なかったので、検索してみたら、このスレが見付かった。 http://www.tom.sfc.keio.ac.jp/~sakai/w3ml/w3ml.cgi/haskell-jp/msg/248 最初から読んでみたけど、このスレの内容凄い面白いなあ。