2012-03-27
■[Haskell] 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
... 以下出力
トラックバック - http://d.hatena.ne.jp/n314/20120327/1332812225
リンク元
- 1727 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CDIQFjAA&url=http://d.hatena.ne.jp/n314/20080228/1204180907&ei=ViVxT9_QO9GMmQWvg73iDw&usg=AFQjCNHx0CRtN7nZwu8qbA4IXBobU63rOQ&sig2=x03AaETyAuQhJG4YXvgAcQ
- 827 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=27&ved=0CFIQFjAGOBQ&url=http://d.hatena.ne.jp/n314/20100506/1273147915&ei=fhtxT9-2Ms7kmAX28tzjDw&usg=AFQjCNFwhIxQf05Uhpyz-DDyKyYj06C77A&sig2=sD7uX5nJuTg305ImvIZmGQ
- 719 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CD8QFjAC&url=http://d.hatena.ne.jp/n314/20100426/1272275307&ei=jGNxT_CrGLCXmQX_u8DmDw&usg=AFQjCNEVdNhswxcQYCZCBWL8gf8_Ng93_Q&sig2=FvtoacwkVvT-xAztS-A7DQ
- 419 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=1&ved=0CCYQFjAA&url=http://d.hatena.ne.jp/n314/20111213/1323771219&ei=7iNxT57nGbHKmAWN3uS1Dw&usg=AFQjCNHzWO2r5LfFvQ8ynBUHh92_IuRT9w&sig2=3saIsishEYfvhamVmyHBKA
- 381 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CDsQFjAD&url=http://d.hatena.ne.jp/n314/20110224/1298518004&ei=f5BxT_O1K6aYiAfbjInkDw&usg=AFQjCNFM3uPGuhA3Is1RoRBayH1jmWfzjw&sig2=2eSin-z1GPf6RxLptBvcOQ
- 338 http://www.google.co.jp/url?sa=t&rct=j&q=emacs フォント configure&source=web&cd=4&ved=0CEAQFjAD&url=http://d.hatena.ne.jp/n314/20080228/1204180907&ei=qIpxT7zPKOLDmQWvjJHhDw&usg=AFQjCNHx0CRtN7nZwu8qbA4IXBobU63rOQ
- 249 https://www.google.co.jp/
- 248 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&ved=0CEQQFjAE&url=http://d.hatena.ne.jp/n314/20110312/1299931840&ei=zmJxT6ObKaeRiQfT-qnkDw&usg=AFQjCNGCqsTY2oFKR7XzN8kMhFGqWT9FQQ&sig2=x4Q-CIaB2NHMMNABXvosOg
- 175 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=7&ved=0CF8QFjAG&url=http://d.hatena.ne.jp/n314/20060925/1159194150&ei=64pxT8H9MtGhmQWo3-y8Dw&usg=AFQjCNHyAyhjERF2GWyQdegsgR1NxSt3pg&sig2=tAqMHRs_x-pjB0uQmJJMGQ
- 166 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=6&ved=0CFAQFjAF&url=http://d.hatena.ne.jp/n314/20111013/1318527064&ei=xxlyT-zmFJHRmAWS_IEa&usg=AFQjCNFkRGqG130_0ZgXXBtXSkfjG5lXXg&sig2=xUgJCKtYv2ezWhqUeaumnw
