{-# LANGUAGE TemplateHaskell #-} module MatplotlibGallery where import Data.String (fromString) import qualified Data.Text as T import qualified Data.Text.IO as T import Language.Haskell.TH.Syntax galleryItem :: FilePath -> Q Exp galleryItem fp = do qAddDependentFile fp txt <- runIO $ T.readFile fp strToExp $ T.unpack txt where strToExp :: String -> Q Exp strToExp s = return $ VarE 'fromString `AppE` LitE (StringL s) galleryItem1, galleryItem2, galleryItem3, galleryItem4 :: Q Exp galleryItem1 = galleryItem "benchmark/gallery_item_1.py" galleryItem2 = galleryItem "benchmark/gallery_item_2.py" galleryItem3 = galleryItem "benchmark/gallery_item_3.py" galleryItem4 = galleryItem "benchmark/gallery_item_4.py"