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