haskell-ja > Archives > 2010/10/26

2010/10/26 03:07:01 UTCcut-sea
#
yesod-0.5.4.2を
#
インストールしてみてるんだけど
#
scafoldingして作成したサンプルアプリがまんまこける
#
具体的には
#
Prelude> :load "Settings.hs"
[1 of 1] Compiling Settings         ( Settings.hs, interpreted )

Settings.hs:123:21:
    Could not deduce (Control.Monad.Invert.MonadInvertIO m)
      from the context (MonadCatchIO m)
      arising from a use of `withSqlitePool' at Settings.hs:123:21-58
    Possible fix:
      add (Control.Monad.Invert.MonadInvertIO m) to the context of
        the type signature for `withConnectionPool'
    In the expression: withSqlitePool connStr connectionCount
    In the definition of `withConnectionPool':
        withConnectionPool = withSqlitePool connStr connectionCount

Settings.hs:126:20:
    Could not deduce (Control.Monad.Invert.MonadInvertIO m)
      from the context (MonadCatchIO m)
      arising from a use of `runSqlPool' at Settings.hs:126:20-29
    Possible fix:
      add (Control.Monad.Invert.MonadInvertIO m) to the context of
        the type signature for `runConnectionPool'
    In the expression: runSqlPool
    In the definition of `runConnectionPool':
        runConnectionPool = runSqlPool
Failed, modules loaded: none.
#
こいつは自動生成のコードなんだが
#
型が違うって言われてるんだよね?
#
もしかしてpersistent-sqliteのバージョンがまずいのかなーと思ってghc-pkg listしたら
#
persistent-0.2.4とpersistent-0.3.0があって、persistent-sqliteの方はpersistent-sqlite-0.3.0のみ。
#
http://hackage.haskell.org/package/persistent-0.2.4
#
これみると、
#
persistent (≥0.2.2 & <0.3)とある
#
ってことはきっと0.3で型が変更になって今私のyesodは0.3.0をみてるんじゃないかと思うんだけど
#
複数ある場合にどっちが使われるかってどこを見れば良いです?
2010/10/26 03:39:47 UTCcut-sea
#
.ghcと.cabalを削除してhaskell-platformからcabal installしなおしてみた
#
persistent-sqliteはyesodのinstallでは入らない。
#
ってことはpersistent-sqliteをcabal installした時に
#
persistent-sqlite-0.3.0がインストールされて、
#
その依存関係からpersistent-0.3.0が入ると思われる
2010/10/26 03:46:13 UTCcut-sea
#
cabal install persistent-sqlite-0.2.2.1
#
あーすんまそん。
#
これでイクことが出来ました
#
ホッ
#
動いた動いた
2010/10/26 04:17:04 UTCcut-sea
#
あー社内からメール送信がー
#
しょうがないので/var/spool/postfix/deferredの中身をのぞいてアクセス
#
sqliteのEmailテーブルの中身と同じか
#
いけたいけた
#
authenticationの仕組みももってるのね
#
sqliteでどこまでスケールするか知らないけど、db一切触らずにごそごそ遊べる
2010/10/26 04:26:06 UTCcut-sea
#
simple-server.hsの出力がずいぶん寡黙なのでdevel-server.hsを代わりに使うかと思ったけど
2010/10/26 04:33:01 UTCcut-sea
#
wai-handler-develがいるのか
#
また他のライブラリのバージョン上げられやしないかとドキドキしてるなう
#
動いた。
#
こいつがKahuaみたく動的にコードをローディングしてくれるバージョンですかい
#
つか、もちっとログを色々吐いてくれたまいやー
#
飯いってくるかな
#
思った以上に簡単に動いてくれたのでゴキゲンである
2010/10/26 04:38:34 UTCmasterq
#
まとめBlog希望!
2010/10/26 05:28:34 UTCcut-sea
#
devel-server.hsだとEmacsで保存したら勝手にロードしてる
#
cut-sea@birds:~/devel/yesod/hello$ runhaskell devel-server.hs 
Starting your server process. Code changes will be automatically
loaded as you save your files. Type "quit" to exit.
You can view your app at http://localhost:3000/

Attempting to interpret your app...
Interpreting success, new app loaded
Attempting to interpret your app...
Interpreting success, new app loaded
Attempting to interpret your app...
Interpreting success, new app loaded
Attempting to interpret your app...
Interpreting success, new app loaded
#
こんな感じ
#
間違ったhamletを書くとdevel-server.hsがエラーログえんえん吐くが
#
修正したら再び成功する
#
あたりまえ
2010/10/26 05:39:09 UTCcut-sea
#
hamletに日本語埋める分には無問題
#
次データベースなんだが、いきなり敷居上がるなw
#
cassius更新してもリロードされるという当たり前の事実でスタイルもじゃんじゃん変更される
#
ただエラーログが\\12525\\12464みたくコードになってるので日本語で出してくれるとなお嬉しいのだが
2010/10/26 05:48:28 UTCcut-sea
#
まとめはねー、多分sampou.orgかなー
#
まだ検証中だから先だけどネー
2010/10/26 10:18:02 UTCcut-sea
#
Yammerの手習い終了
#
とりあえず日本語でおk
#
動画みてたらガンガンタブを打ってるように見えたけど、hamletにタブ入れるとダメポ。
#
ちゃんとスペースインデントしないと
#
ちゃんと望みのHTMLが得られず、formの中にinputが生成できずにハマってた。
#
ただテンプレート中での(DBから取得したレコードの)フィールドアクセスの作法が見えん
#
まーとりあえず、できそうだなーとは思えたので帰る。