Haskell is a statically typed, purely functional programming language with type inference and lazy evaluation. It is the epitomy and embodiment of the ivory tower of pure functional programming and as such is a great reference language to learn functional programming concepts. It is not just a toy language though, it is actively used by companies such as Facebook and Google and many others. It is one of the few languages successfully designed by committee.
- powerful features like pattern matching and list comprehensions
- type inference
- rich type system with type classes
// TODO: expand
- The Haskell Platform comes with the Haskell compiler, package manager and various scaffolding utilities.
- Visual Studio Code is a great multipurpose text editor
- The Haskelly pluging gives you a nice Haskell development experienec within Visual Studio Code. It piggy backs on a couple of Haskell packages that you need to install using the Haskell stack:
stack install intero QuickCheck stack-run
I had problems installing (version mismatches between dependencies)
stack-run which seems to be no longer maintaned. (I think the reason why is that Haskell stack has that funcionality nowadays but the Haskelly plugin still uses this). You can solve the issue following this workaround.
The alternative is to use HIE or Haskell IDE Engine (there’s another VS Code plugin that uses that instead) but in a Mac you need to build it from source that is not my cup of tea. It may be something that I’ll try in the future.
// TODO: add infor about the Haskell platform GHC, GHCi, Cabal, Stack, etc…
- Try haskell: An online tutorial that lets you try Haskell
- Repl.it: An online development environment to build and deploy haskell web apps
- Learn You a Haskell For Great Good. Awesome book! Free to read online!
- Haskell Programming From First Principles
- Real World Haskell is another book that in addition to teaching you Haskell it also teaches you how to write real world applications in Haskell. Also free to read online!
- Seven languages in Seven weeks has a very condensed chapter on Haskell.
- A history of Haskell: Being Lazy With Class
- Haskell on Wikipedia
- Monday Morning Haskell
- Haskell Wiki with lots of learning resources
Written by Jaime González García , Dad, Husband, Front-end software engineer, UX designer, amateur pixel artist, tinkerer and master of the arcane arts. You should follow him on Twitter where he shares useful stuff! (and is funny too).Follow @vintharas