From 1e1972884f324bbe6d046e2b52b9f9ea41014889 Mon Sep 17 00:00:00 2001 From: Matthijs Kooijman Date: Tue, 27 Jan 2009 15:50:44 +0100 Subject: [PATCH] Make the state monad calling code more pretty. --- Translator.hs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Translator.hs b/Translator.hs index 4df791a..d76ff15 100644 --- a/Translator.hs +++ b/Translator.hs @@ -43,11 +43,19 @@ main = liftIO $ printBinds (cm_binds core) let bind = findBind "half_adder" (cm_binds core) let NonRec var expr = bind - let sess = State.execState (do {(name, f) <- mkHWFunction bind; addFunc name f}) (VHDLSession 0 builtin_funcs) + -- Add the HWFunction from the bind to the session + let sess = State.execState (addF bind) (VHDLSession 0 builtin_funcs) liftIO $ putStr $ showSDoc $ ppr expr liftIO $ putStr "\n\n" liftIO $ putStr $ render $ ForSyDe.Backend.Ppr.ppr $ getArchitecture sess bind return expr + where + -- Turns the given bind into VHDL + addF bind = do + -- Get the function signature + (name, f) <- mkHWFunction bind + -- Add it to the session + addFunc name f printTarget (Target (TargetFile file (Just x)) obj Nothing) = print $ show file -- 2.30.2