Is it possible to define a function on a subset of an existing type?

后端 未结 5 1734
夕颜
夕颜 2021-01-18 04:40

I\'m new to Haskell and would like to know whether it\'s possible to define a function that is only defined on a subset of an already existing type, without actually having

5条回答
  •  一整个雨季
    2021-01-18 05:03

    One possibility would be

    newtype Even n = Even n
    getEven (Even n) = 2*n
    
    squared :: Num n => Even n -> Even n
    squared (Even n) = Even (2*n*n)
    

提交回复
热议问题