50 lines
1.4 KiB
Org Mode
50 lines
1.4 KiB
Org Mode
|
#+TODO: TODO TO-CLEAN TO-REVIEW | DONE
|
||
|
#+TITLE: Haskell for the working programmer
|
||
|
#+AUTHOR: Yann Esposito
|
||
|
#+EMAIL: yann.esposito@gmail.com
|
||
|
#+LANGUAGE: en
|
||
|
#+KEYWORDS: haskell
|
||
|
#+PROPERTY: header-args :output-dir HWP :mkdirp yes :tangle-mode (identity #o755)
|
||
|
|
||
|
#+BEGIN_COMMENT
|
||
|
/THIS IS A WORK IN PROGRESS/
|
||
|
|
||
|
*CONTRIBUTORS*
|
||
|
|
||
|
This part is about giving the tools for an advanced programmer to work with
|
||
|
Haskell and to gain its autonomy.
|
||
|
|
||
|
And another part is about explaining classical things he should not necessarily
|
||
|
master but should know exist and what they can be used for.
|
||
|
|
||
|
Typically, it's nice to explain lenses with a few examples so he'll know this is
|
||
|
an efficient tool to manipulate complex data structures.
|
||
|
|
||
|
#+END_COMMENT
|
||
|
|
||
|
* TODO Make Production Quality Products
|
||
|
** TODO Dhall /Maybe/
|
||
|
** TODO Error Handling
|
||
|
|
||
|
#+BEGIN_COMMENT
|
||
|
This is a tricky one. My guts would suggest to dig enough with the type system
|
||
|
to make impossible state irrepresentable and triggering compile time errors.
|
||
|
|
||
|
But at the margin, this is not always possible. So this has to do with code organization.
|
||
|
#+END_COMMENT
|
||
|
|
||
|
** TODO Unit testing / doctests
|
||
|
** TODO Generative Testing
|
||
|
** TODO Enhance reproductibility with docker
|
||
|
** TODO Enhance reproductibility with nix
|
||
|
** TODO How to deploy?
|
||
|
|
||
|
There are plenty of ways de deploy
|
||
|
|
||
|
*** TODO Trashy and easy
|
||
|
|
||
|
Compile in docker and copy the binary.
|
||
|
|
||
|
*** TODO With =nix= and =nixops=
|
||
|
|