A library for doing matrix transformations on 2D cartesian coordinates.
λ transformPoint (translate 3 4) (Pair 1 2)
(4, 6)
data Pair where
Pair :: Number -> Number -> Pair
type Point = Pair
type Size = Pair
instance eqPair :: Eq Pair
instance semigroupPair :: Semigroup Pair
addPairs :: Pair -> Pair -> Pair
subPairs :: Pair -> Pair -> Pair
instance monoidPair :: Monoid Pair
instance arbPair :: Arbitrary Pair
instance showPair :: Show Pair
data Transform where
Transform :: Number -> Number -> Number -> Number -> Number -> Number -> Number -> Number -> Number -> Transform
instance eqTransform :: Eq Transform
instance semigroupTransform :: Semigroup Transform
compose :: Transform -> Transform -> Transform
determinant :: Transform -> Number
inverse :: Transform -> Transform
mulN :: Number -> Transform -> Transform
reset :: Transform
rotate :: Number -> Transform
scale :: Number -> Transform
scaleX :: Number -> Transform
scaleY :: Number -> Transform
transformPoint :: Transform -> Point -> Point
translate :: Number -> Number -> Transform
instance monoidTransform :: Monoid Transform
instance arbTransform :: Arbitrary Transform
instance showTransform :: Show Transform