diff --git a/VL1.tex b/VL1.tex index 1ef6919..80fac46 100644 --- a/VL1.tex +++ b/VL1.tex @@ -597,6 +597,22 @@ Now that we know the basics, let's clear up some common misconceptions about has \onslide<+-> You can! \end{frame} + +\begin{frame} +\frametitle{Difficulties} +Haskell is very powerful and can be used for pretty much anything. However, there are difficulties in any language. Let's name a few for haskell: +\begin{itemize}[<+->] +\item intellectual complexity? New way of thinking? +\item although you rarely need it in haskell, debugging can be difficult at times +\item because the type system is extremely powerful/complex, type error messages can be very confusing and don't always show the error you expected +\item no premium-like IDE with every possible feature (yet) +\item dynamic linking is sort of WIP yet, lots of ABI breakage +\item because most of the world thinks in imperative style languages, it's often difficult to find pseudo-code for functional style languages, so you end up reverse-engineering algorithms +\item some problems that are trivial in imperative languages, can be very difficult to solve in idiomatic haskell and vice versa +\item practical cryptography is possible, but a difficult topic in haskell, see \url{https://mail.haskell.org/pipermail/haskell-cafe/2015-February/118059.html} +\end{itemize} +\end{frame} + \begin{frame} \frametitle{Toolchain} You need: