refine
refineTH
Refined <述語> <実際の型>
例.hs type LowerCaseString = Refined LowerCase String
LowerCase
という新しい述語を定義している例.hsdata LowerCase
instance Predicate LowerCase String where
validate _ value =
if all isLower value
then Nothing
else Just "Not all chars are lower-case"