{-# LANGUAGE TemplateHaskell #-} {-# OPTIONS_GHC -Wall -fno-warn-tabs #-} module Data.Swizzle where import Data.Swizzle.TH concat <$> swizzle `mapM` [ [a'] | a' <- "xyz" ++ reverse ['a' .. 'w'] ] concat <$> swizzle `mapM` [ [a', b'] | a' <- "xyzw", b' <- "xyzw" ] concat <$> swizzle `mapM` [ [a', b', c'] | a' <- "xyzw", b' <- "xyzw", c' <- "xyzw"]