yesodの本を読んでたら出てきたのでググった
Phantom typeによると、
class Sanitise a where sanitise :: FormData a -> FormData Validated -- do nothing to data that is already validated instance Sanitise Validated where sanitise = id -- sanitise untrusted data instance Sanitise Unvalidated where sanitise (FormData str) = FormData (filter isAlpha str)
ラベル付けするためにあるのかな。うまく使えれば便利そう。
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜というスライドがわかりやすくて面白かった。
他にはFFIにも出てくるみたい。
Developing Web Applications With Haskell and Yesod
Michael Snoyman
Oreilly & Associates Inc / 2805円 ( 2012-05-04 )
Michael Snoyman
Oreilly & Associates Inc / 2805円 ( 2012-05-04 )