#+SETUPFILE: ../../../template/level-2.org
#+TITLE: Haskell For Newbs
#+DATE: <2018-07-10 Tue 00:00>
#+AUTHOR: vaeringjar
#+EMAIL: vaeringjar@land
#+DESCRIPTION: My experience teaching new languages to undergrad students.
#+KEYWORDS: learning software haskell

* Post

I recently spent some time showing someone the basics of haskell by
teaching them to build a website in hakyll. Building a site with the
ssg hakyll should give someone basic experience for setting up their
own development environment for using haskell in general. And for my
own purposes it gives me the opportunity to spread the word about
Vervis.

I will use this post to brain dump and to record some recommendations
or lessons learned when showing someone else how to use Haskell.

** Use stack over cabal
Use stack over cabal to install packages unless stack does not
suffice.

A fresh debian install might need to do this:
#+BEGIN_SRC bash
sudo apt update && sudo apt install ghc ghc-prof ghc-doc zlib1g-dev
#+END_SRC

* See also

- [[https://www.haskell.org/cabal/][cabal]]
- [[https://www.youtube.com/watch?v=02_H3LjqMr8&t=2024s][Haskell Tutorial by Derek Banas]]
- [[https://jaspervdj.be/hakyll/][hakyll]]
- [[https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/intro.html#obtaining-ghc][Installing GHC]]
- [[https://github.com/bitemyapp/learnhaskell][learnhaskell]] a more complete newbie guide
- Penn Engineering [[https://cis.upenn.edu/~cis194/spring13/][CIS 194: Introduction to Haskell]]
- [[https://www.youtube.com/watch?v=RqvCNb7fKsg][Programming - Why Haskell is Great - 10 minutes]] by FrungyKing
- [[https://www.haskellstack.org/][stack]]
- [[https://dev.angeley.es/s/fr33domlover/r/vervis][Vervis]]
- [[https://www.youtube.com/watch?v=XrNdvWqxBvA][Why Functional Programming Matters by John Hughes at Functional Conf 2016]]
