{-# LANGUAGE FlexibleInstances #-} -- | A module for representing data types that can be compiled by taking a list of files. module Lastik.Compile ( Compile, compile ) where import Control.Monad import Data.List import System.Directory import System.Cmd import System.Exit -- | A class of compilable data types. class Compile c where compile :: c -> [FilePath] -> String instance Compile [Char] where compile s _ = s instance Compile ([FilePath] -> String) where compile = id