packages feed

edit-lenses-0.1: Data/Module/Product.hs

{-# LANGUAGE TypeFamilies #-}
module Data.Module.Product where

import Control.Monad
import Data.Default
import Data.Module.Class

instance (Module dX, Module dY) => Module (dX, dY) where
	type V (dX, dY) = (V dX, V dY)
	apply (dx, dy) (x, y) = liftM2 (,) (apply dx x) (apply dy y)