haskell-lectures/VL1/content/VL1_how_to_think_haskell.tex
2015-04-21 14:07:57 +02:00

19 lines
917 B
TeX

\begin{itemizep}
\item forget about imperative, procedural, OOP; forget about any programming language
\item think in types!
\begin{itemizep}
\item don't be afraid of type errors
\item let the type-checker do the work for you (does this function do what I think it does?)
\item understand functions just by looking at their type signature?
\end{itemizep}
\item think abstract!
\begin{itemizep}
\item don't repeat yourself!
\item "develop a solution space, rather than an individual solution" -- Ralf Hinze
\item "imagine a graph, rather than a single path" -- Ralf Hinze
\item "first solve a more general problem, then extract the interesting bits and pieces by transforming the general program into more specialised ones" -- Ralf Hinze
\end{itemizep}
\item solve atomic parts of general problems and combine them into greater solutions
\item don't be afraid of recursion!
\item write less, think more!
\end{itemizep}