0 | module Data.Enumerate.Common 1 | 2 | import Data.List 3 | 4 | %default total 5 | 6 | export 7 | prodWith : (a -> b -> c) -> List a -> List b -> List c 8 | prodWith f [] bs = [] 9 | prodWith f as [] = [] 10 | prodWith f (a :: as) (b :: bs) = f a b :: interleave (map (f a) bs) (prodWith f as (b :: bs)) 11 |