A guide to learning haskell as a javascript developer