module Examples.Simple.Pairs where import Prelude () import Feldspar import Feldspar.Vector import Feldspar.Compiler -- | Haskell pairs are compiled to separate variables. pairs1 :: Data Int32 -> Data Float -> (Data Int32, Data Float) pairs1 x y = (x,y) -- | Selector functions: getFst, getSnd. pairs3 :: (Data Int32, Data Float) -> (Data Int32, Data Float) pairs3 p = (fst p, snd p) -- | Zipping two vectors into a vector of pairs. pairs4 :: Data [Float] -> Data [Int32] -> Data [(Float,Int32)] pairs4 xs ys = desugar $ zipWith (\a b -> desugar (a,b)) (thawVector' 256 xs) (thawVector' 256 ys)