在本地定义haskel中的属性

时间:2016-12-19 18:25:12

标签: haskell quickcheck

我在haskell写了这个属性检查:

prop_XY (x,y) sud = ((!!) (rows (sud)) x) !! y

我需要在本地定义这个,有关如何做的任何建议,因为我无法怎么做?

修改

所以这是我拥有的两个道具功能,我需要在本地定义第二个。

-- Check update function
prop_update (x,y) sud n = prop_XY (x',y') (update sud (x',y') n) == n 
                          where x' = x `mod` 9 
                                y' = y `mod` 9

-- helper to find specific value 
prop_XY (x,y) sud = ((!!) (rows (sud)) x) !! y

1 个答案:

答案 0 :(得分:3)

如果我理解正确,您可以使用where条款:

prop_update ... = ... prop_XY (x,y) ...
  where
    prop_XY (x,y) sud = ((!!) (rows (sud)) x) !! y

有关详细信息,请参阅http://learnyouahaskell.com/syntax-in-functions#where