2012-01-01から1年間の記事一覧

今のバージョンでYesodアプリを動かすまで

なんかうまく動かなくなってたので、メモ。 まずは、Haskell Platform を確認。 気がついたら64bitが入っていた。 多分 2012.4.0.0 にするときに誤って入れたらしい。 一旦今の Haskell 環境を消して、 $ sudo /Library/Haskell/bin/uninstall-hs --remove t…

同じようなフィールドを持ったレコードへの変換

RecordWildCards を使って、同じようなフィールドを持つレコードを簡単に変換できる。 RecordA.hs module RecordA where data A = A { a :: Int, b :: String, c :: Int } deriving Show RecordB.hs module RecordB where data B = B { a :: Int, b :: Strin…

Haskellの言語拡張たち 2

前のやつ の続き。 今回調べた拡張 レコード系 RecordWildCards 型系 ExistentialQuantification RecordWildCards レコードワイルドカードが使える。 レコードパターン中で .. とすれば、レコード内のフィールドを一気に束縛したり、現在のスコープの変数か…

一部の値を変更したレコード

Database.Persist.MySQLの設定を調べていて、こんな記述を発見。 defaultConnectInfo :: ConnectInfo Default information for setting up a connection. (中略) Use as in the following example: connect defaultConnectInfo { connectHost = "db.example.…

Haskellの言語拡張たち

前回、なんか拡張を沢山使っていたが、おまじないのままなのもそろそろまずい感じなので、とりあえず調べてみた。 今回調べた拡張 型系 GADTs ScopedTypeVariables EmptyDataDecls TypeFamilies 型クラス系 MultiParamTypeClasses TypeSynonymInstances Flex…

Haskell で DB操作

最近 Yesod を弄っているが、Yesod で使ってるやつ (Database.Persistent) を使って、普通に DB 操作したいな、と。 sqlite と mongodb をやってみる。github にあげた分 → https://github.com/rf0444/haskell-dbとりあえず自分の環境 (Mac) で runhaskell …

Git 導入

家のデスクトップに入れてた Git を新しくしようと思って、ついでに入れ方を残しておこうと思って、書いてみる。 OS は Windows 7。多分 XP でも大丈夫。 cygwin とかは入ってない想定。7z は入ってる想定。 入ってた Git を削除 前入れたときはインストーラ…

The End of Start Haskell

1/28 に、第6回 スタートHaskell に行ってきました!また1週間かかってしまった・・・遅延評価だから仕方がない (キリッ 12章 遅延評価 解説 @imsuten http://www.intransient.info/materials/Programming_in_Haskell_12/Programming_in_Haskell_12.html5.html#…

Purely Functional Data Structures読書会 第4回

1/21 に、Purely Functional Data Structures読書会 第4回 に行ってきました。 まとめ的な: http://wiki.haskell.jp/Workshop/ReadPFDS/4 3.4 (c) (d) @khibino 前回末尾再帰になっていなかったから、CPS変換して末尾再帰にしたらしい。 なんかいきなり継続…