3 ms·
Learn Haskell first. When you've gotten your head at least partially around it then the latter two become much more approachable. Programming in a dependently t
by tel 13y ago
Learn Haskell first. When you've gotten your head at least partially around it then the latter two become much more approachable. Programming in a dependently typed language is not simple if you're not used to the algebraic methods they're based on. That said, Idris seems to be aiming to be much more "practical" than Agda.
Also, all that said, once you start getting to the point where you're really getting comfortable with Haskell types you absolutely should learn Agda or Idris since they do advanced types far better than Haskell does. Many confusing Haskellisms become obvious in the light of Agda/Idris.
- mcguire 13y agoCare to make any comparison to ATS? I have been playing with it a bit lately and having a good time.
- tel 13y agoI haven't used ATS. My understanding is that it's a dependently systems language which makes me think it'll provide good region types and things like what Rust is trying to offer. In that way I'd say it still differs a lot from, say, Agda, where you're likely to encounter fairly heady questions about equality and algebra very quickly. But again, I've not used it so I can't much say for certain.