listBind :: String -> String -> IO ()
listBind filename name = do
core <- loadModule filename
listBind :: String -> String -> IO ()
listBind filename name = do
core <- loadModule filename
-- | Translate the binds with the given names from the given core module to
-- VHDL. The Bool in the tuple makes the function stateful (True) or
-- | Translate the binds with the given names from the given core module to
-- VHDL. The Bool in the tuple makes the function stateful (True) or
-- Propagate state variables
let flatfunc' = propagateState hsfunc flatfunc
-- Store the flat function in the session
-- Propagate state variables
let flatfunc' = propagateState hsfunc flatfunc
-- Store the flat function in the session
-- Flatten any functions used
let used_hsfuncs = Maybe.mapMaybe usedHsFunc (flat_defs flatfunc')
mapM_ resolvFunc used_hsfuncs
-- Flatten any functions used
let used_hsfuncs = Maybe.mapMaybe usedHsFunc (flat_defs flatfunc')
mapM_ resolvFunc used_hsfuncs
-- when it is a builtin function.
Monad.unless (Map.member hsfunc flatfuncmap) $ do
Monad.unless (elem hsfunc VHDL.builtin_hsfuncs) $ do
-- when it is a builtin function.
Monad.unless (Map.member hsfunc flatfuncmap) $ do
Monad.unless (elem hsfunc VHDL.builtin_hsfuncs) $ do
-- New function, resolve it
core <- getA tsCoreModule
-- Find the named function
-- New function, resolve it
core <- getA tsCoreModule
-- Find the named function