Drkcore

23 10 2012 Haskell Tweet

Haskellの幽霊型(Phantom Type)

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にも出てくるみたい。

ProductName Developing Web Applications With Haskell and Yesod
Michael Snoyman
Oreilly & Associates Inc / 2805円 ( 2012-05-04 )


About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021