Wiki: Haskell
What is Haskell?
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.
What Makes Haskell Special?
- purity
- powerful features like pattern matching and list comprehensions
- type inference
- rich type system with type classes
- more…
// TODO: expand
Super Concise Haskell CheatSheet of Awesomeness
Setting up a Haskell Development Environment
This is the simplest dev environment that I’ve found thus far: Haskell Plaform plus Visual Studio Code plus the Haskelly extension.
- 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.
The Haskell Ecosystem
// TODO: add infor about the Haskell platform GHC, GHCi, Cabal, Stack, etc…
From JavaScript to Haskell and Back
// TODO: comparing JavaScript and Haskell for Great Good
Highlighted Resources
- Try haskell: An online tutorial that lets you try Haskell
- Repl.it: An online development environment to build and deploy haskell web apps
References and Resources
- 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.
- haskell.org
- A history of Haskell: Being Lazy With Class
- Haskell on Wikipedia
- Monday Morning Haskell
- Haskell Wiki with lots of learning resources
More Resources I Haven’t Checked out Yet
- The Joy of Haskell
- Get Programming With Haskell another book recommended by The Joy of Haskell bunch.
- Happy Learn Haskell Tutorial
- Haskell Fast and Hard
- More learn haskell recommendations
Written by Jaime González García , dad, husband, software engineer, ux designer, amateur pixel artist, tinkerer and master of the arcane arts. You can also find him on Twitter jabbering about random stuff.