haskell-lectures/VL1/content/VL1_how_to_think_haskell.tex

19 lines
917 B
TeX
Raw Normal View History

\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!
2015-04-21 12:07:57 +00:00
\item write less, think more!
\end{itemizep}