4 ms·
To take this to the current state of the art, look at Haskell, Agda, and Idris. Latter two being dependently typed. Steps for learning Haskell: https://gist.g
by coolsunglasses 13y ago
To take this to the current state of the art, look at Haskell, Agda, and Idris. Latter two being dependently typed.
Steps for learning Haskell:
https://gist.github.com/bitemyapp/8739525 https://gist.github.com/bitemyapp/8739525
- dustingetz 13y agoyo switch the gist to markdown to get word wrap
- coolsunglasses 13y agoDone.
- Buttons840 13y agoWhat are your impressions of the three languages? Personally, I'm learning Haskell first, because Haskell is the most popular of the three and there is plenty of good learning material. As far as Adga and Idris go, I think Idris looks more appealing.
- tel 13y agoLearn 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.
- coolsunglasses 13y agoWell Haskell is the "practical" choice but there's a lot to learn from Agda and Idris if your interest is in a helpful type system - the topic of the original post.
- Groxx 13y agoExcellent, thanks! I may actually do so now.
- MaxGabriel 13y agoAny recommendations for web programming in Haskell?
- tel 13y agoI highly recommend taking a look at the Happstack Tutorial. There's both a Lite version [1] and a full Crash-Course [2]. [1] http://happstack.com/page/view-page-slug/9/happstack-lite http://happstack.com/page/view-page-slug/9/happstack-lite [2] http://happstack.com/docs/crashcourse/index.html http://happstack.com/docs/crashcourse/index.html
- deleted 13y ago[deleted]
- coolsunglasses 13y agoJust getting started? Scotty. That having been said, learning how and why Snap and Yesod do their thing is advisable. I don't think there's any real reason not to take some time with Happstack, Scotty, Yesod, and Snap in turn and just see which appeal to you the most. Scotty is analogous to something like Sinatra and reuses the existing WAI/Warp (think Rack/Ring/WSGI) work that was originally done for Yesod.
- deleted 13y ago[deleted]