persistentで自動生成されたコードを見る
Template Haskellで生成されたコードを見る手順メモ。
http://www.yesodweb.com/book/persistent
ここのサンプルをファイルに保存する。分かりやすいようにpersistの定義は別関数にする。
runPersist = [persist| Person name String nick String age Int Maybe BlogPost title String authorId PersonId |]
そしてghciで開く。
*Main> :t runPersist runPersist :: [EntityDef] *Main> let expr = share [mkPersist sqlSettings] runPersist Loading package persistent-sqlite-0.8.0 ... linking ... done. *Main> :t expr expr :: Language.Haskell.TH.Syntax.Q [Language.Haskell.TH.Syntax.Dec] *Main> :m +Language.Haskell.TH *Main Language.Haskell.TH> *Main Language.Haskell.TH> :t runQ expr runQ expr :: Language.Haskell.TH.Syntax.Quasi m => m [Dec] *Main Language.Haskell.TH> q <- runQ expr *Main Language.Haskell.TH> :t q q :: [Dec] *Main Language.Haskell.TH> ppr q instance Database.Persist.Store.PersistField (PersonGeneric backend) where sqlType _ = Database.Persist.Store.SqlString ... 以下出力