Barbarian Meets Coding
barbarianmeetscoding

WebDev, UX & a Pinch of Fantasy

4 minutes readhaskell

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

More Resources I Haven’t Checked out Yet


Jaime González García

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.Jaime González García