{-# LANGUAGE TypeFamilies, FlexibleContexts, Rank2Types #-} module Feldspar.Transformation ( module Feldspar.Transformation , module Feldspar.Transformation.Framework , module Feldspar.Compiler.Imperative.TransformationInstance , module Feldspar.Compiler.Imperative.Representation ) where import Feldspar.Transformation.Framework import Feldspar.Compiler.Imperative.TransformationInstance import Feldspar.Compiler.Imperative.Representation -- ================================================================================================ -- == Plugin class -- ================================================================================================ class (Transformable t Module) => Plugin t where type ExternalInfo t executePlugin :: t -> ExternalInfo t -> Module (From t) -> Module (To t)