Give stateless a type signature.
authorMatthijs Kooijman <m.kooijman@student.utwente.nl>
Wed, 11 Feb 2009 16:24:18 +0000 (17:24 +0100)
committerMatthijs Kooijman <m.kooijman@student.utwente.nl>
Wed, 11 Feb 2009 16:24:18 +0000 (17:24 +0100)
This ensures that any function that stateless is inlined into doesn't
become polymorph.

Adders.hs

index 10590fa7c765736ced0e4cf166160687c4ff2fd1..ce261668e48eb7a9afd5a8e05ddb4bd31f65edf0 100644 (file)
--- a/Adders.hs
+++ b/Adders.hs
@@ -7,6 +7,7 @@ mainIO f = Sim.simulateIO (Sim.stateless f) ()
 
 -- This function is from Sim.hs, but we redefine it here so it can get inlined
 -- by default.
+stateless :: (i -> o) -> (i -> () -> ((), o))
 stateless f = \i s -> (s, f i)
 
 show_add f = do print ("Sum:   " ++ (displaysigs s)); print ("Carry: " ++ (displaysig c))