projects
/
matthijs
/
master-project
/
dsd-paper.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make higher-ord cpu example even shorter
[matthijs/master-project/dsd-paper.git]
/
cλash.lhs
diff --git
a/cλash.lhs
b/cλash.lhs
index 59f529ad461d1155ad630af3905257b0175780e3..9fb964773a948b737ee7055d4e86500b3202a3c5 100644
(file)
--- a/
cλash.lhs
+++ b/
cλash.lhs
@@
-1192,12
+1192,11
@@
the vectors of the \acro{FIR} code to a length of 4, is depicted in
\subsection{Higher order CPU}
\begin{code}
\subsection{Higher order CPU}
\begin{code}
-fu op inputs (addr1, addr2) (State out) =
- (State out', out)
+fu op inputs (addr1, addr2) = regIn
where
where
- in1 = inputs!addr1
- in2 = inputs!addr2
-
out'
= op in1 in2
+ in1
= inputs!addr1
+ in2
= inputs!addr2
+
regIn
= op in1 in2
\end{code}
\begin{code}
\end{code}
\begin{code}
@@
-1205,14
+1204,13
@@
cpu :: Word -> [(Index 6, Index 6) | 4]
-> State [Word | 4] -> (State [Word | 4], Word)
cpu input addrs (State fuss) = (State fuss', out)
where
-> State [Word | 4] -> (State [Word | 4], Word)
cpu input addrs (State fuss) = (State fuss', out)
where
- fu
res
= [ fu const inputs (addrs!0) (fuss!0)
+ fu
ss'
= [ fu const inputs (addrs!0) (fuss!0)
, fu (+) inputs (addrs!1) (fuss!1)
, fu (-) inputs (addrs!2) (fuss!2)
, fu (*) inputs (addrs!3) (fuss!3)
]
, fu (+) inputs (addrs!1) (fuss!1)
, fu (-) inputs (addrs!2) (fuss!2)
, fu (*) inputs (addrs!3) (fuss!3)
]
- (fuss', outputs) = unzip fures
- inputs = 0 +> (1 +> (input +> outputs))
- out = head outputs
+ inputs = 0 +> (1 +> (input +> fuss))
+ out = head fuss
\end{code}
\section{Related work}
\end{code}
\section{Related work}