Reduce code-size of higher-order cpu
[matthijs/master-project/dsd-paper.git] / cλash.lhs
index e02b16d567e3d348d8c258c8db0386128778d517..3bcf41e75f41e3a0d507925cf1b78ea005e7b251 100644 (file)
@@ -1192,11 +1192,6 @@ the vectors of the \acro{FIR} code to a length of 4, is depicted in
 \subsection{Higher order CPU}
 
 \begin{code}
-fu :: (a -> a -> a)
-      -> [a | n]
-      -> (Index (n - 1), Index (n - 1))
-      -> a
-      -> (a, a)
 fu op inputs (addr1, addr2) (State out) =
   (State out', out)
   where
@@ -1206,12 +1201,8 @@ fu op inputs (addr1, addr2) (State out) =
 \end{code}
 
 \begin{code}
-type CpuState = State [Word | 4]
-
-cpu :: Word 
-       -> [(Index 6, Index 6) | 4]
-       -> CpuState
-       -> (CpuState, Word)
+cpu :: Word -> [(Index 6, Index 6) | 4] 
+  -> State [Word | 4] -> (State [Word | 4], Word)
 cpu input addrs (State fuss) = (State fuss', out)
   where
     fures =   [ fu const  inputs (addrs!0) (fuss!0)