{-# LANGUAGE ImportQualifiedPost #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE FlexibleContexts #-} {-# OPTIONS_GHC -Wall -fno-warn-tabs #-} module Data.SwizzleModify where import Data.SwizzleModify.TH concat <$> (swizzleModify "" . (: "")) `mapM` ("xyz" ++ reverse ['a' .. 'w']) concat <$> swizzleModify "" `mapM` (filter ((> 1) . length) [ concat [x', y', z', w', v'] | x' <- ["", "x"], y' <- ["", "y"], z' <- ["", "z"], w' <- ["", "w"], v' <- ["", "v"] ])