packages feed

hasktorch-0.0.1.0: tests/Orphans.hs

{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE FlexibleInstances #-}
module Orphans () where

import Data.Function (on)
import Test.QuickCheck

instance Num a => Num (Positive a) where
  (-)         = Positive .: ((-) `on` getPositive)
  (+)         = Positive .: ((+) `on` getPositive)
  (*)         = Positive .: ((*) `on` getPositive)
  abs         = Positive . abs . getPositive
  signum      = Positive . signum . getPositive
  fromInteger = Positive . fromInteger

(.:) = (.) . (.)