{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DeriveTraversable #-}

module Jade.Middle.SubModuleRed where

-- import GHC.Generics
-- import Data.Aeson
-- import Control.Monad
-- import Jade.Common
-- import Text.Format
-- import qualified Data.List as DL
-- import qualified Data.Map as DM
-- import qualified Data.Set as DS
-- import qualified Data.Vector as V
-- import qualified Jade.Decode as Decode
-- import qualified Jade.Net as Net
-- import qualified Jade.Module as Module
-- import qualified Jade.MemUnit as MemUnit
-- import qualified Jade.Val as Val
-- import qualified Jade.TopLevel as TopLevel
-- import qualified Jade.Bundle as Bundle

-- data SubModuleRep = SubModuleRep { smrTermMapInput :: [TermMap]
--                                  , smrTermMapOutput :: [TermMap]
--                                  , smrSubModule :: SubModule
--                                  , smrZIndex :: Int
--                                  } deriving (Generic, ToJSON, Show, Eq)


-- getWireWithName smr = "SubModuleRep.getWireWithName" <? do
--   smrTermMapInput 
  
