As learning Haskell is a good way to develop oneself as a better Java programmer, learning a dependent typed programming language [Agda] is a good way to develop oneself as a better Haskell programmer. ā https://kseo.github.io/posts/2014-02-21-learning-agda-to-be-a-better-haskell-programmer.html
For writing apps?
I code real life programs in Agda. Some part of my server and my tools are in Agda. One time I was in #haskell freenode IRC channels and people started acting out as if Iām some crazy person. Agda has seemless integration with Haskell. There is almost no friction writing 20% of your program in Haskell (unsafe) and 80% in Agda (safer). https://news.ycombinator.com/item?id=24567404
Resources
- Agda CheatSheet
- Dependently Typed Programming in Agda, a concise introduction to Agda, targeted at functional programmers
- https://plfa.github.io
- Nix project template: https://github.com/srid/agda-template