Hacker News new | ask | show | jobs
by sridca 4038 days ago
This has been my experience as well. Learning basic Haskell (from cis194[0]) helped with Elm, however it took a while (about 3 days) before I began being productive at all. Too productive, in fact. Once the basic application is in place, implementing additional features have been laughably easy. For example, implementing the search feature[1][2] took surprisingly little effort.

[0]: https://github.com/bitemyapp/learnhaskell#yorgeys-cis194-cou... [1]: https://github.com/srid/chronicle/commit/4a6c18147bf1596b234... [2]: https://github.com/srid/chronicle/commit/fb040b9e3268d7d843e...

The other benefit is static typing with option types leading to nearly no runtime error! For example, when I did a substantial refactoring[a] of my code, aside from fixing type errors there were no runtimes errors when the new app was run. This is basically unthinkable when writing in plain JavaScript.

[a]: https://github.com/srid/chronicle/commit/f81d6d9c04e75fbd9e7...

Finally, large Elm programs benefit from componentization[x] of the model and related structures (actions, view, request, run). This is something I plan to blog about later on.

[x]: https://github.com/rtfeldman/dreamwriter/issues/39