🌐 Public

World Domination with Haskell

By Petar Radošević

Introduction

An introduction to the awesome world of Haskell, the programming language of Titans. Follow along in my tracks to see how I mastered the language. I filtered out the best learning material for you.

Petar Radošević — Co-founder of Gibbon.

Added by Petar Radošević: “OK, you started following this flow and you want to get started fast! This is the article to get you up to speed before diving in. Don't panic if you don't understand everything, Haskell takes time :-)

2 YBlog - Learn Haskell Fast and Hard

Generally your functions won't modify anything in the outside world. This means they can't modify the value of a variable, can't get user input, can't write on the screen, can't launch a missile. On the other hand, parallelism will be very easy to achieve.

Added by Petar Radošević: “Start out with this guide to get a good grip on the language. Don't worry if you don't get it all at once, there are some great books coming after this to help you on your way.

3 Hitchhikers guide to Haskell

Added by Petar Radošević: “Great introduction to starting a new Haskell project. Including how to setup tests.

4 How to Start a New Haskell Project

I'm working on a Haskell project at the moment, I guess my first Haskell client work. It's a lot of fun, and a little bit different from the more loosely typed languages I've used before. So, Haskell. Not as hard as you'd think to write something in it, though like with any language, I suspect it will take one a

Added by Petar Radošević: “Easy script to start a new Haskell project.

5 YBlog - Holy Haskell Project Starter

holy-haskell.sh Bridgekeeper: Stop! Bridgekeeper: Who would cross the Bridge of Death Bridgekeeper: must answer me these questions three, Bridgekeeper: ere the other side he see. You: Ask me the questions, bridgekeeper, I am not afraid. Bridgekeeper: What is the name of your project? > Holy project Bridgekeeper: What is your name?

Added by Petar Radošević: “If you ask me, the best place to start learning Haskell. I expect it will take you about two weeks before you can finish this book, but it will get you up to speed fast.

6 Book: Learn You a Haskell for Great Good!

Hey yo! This is Learn You a Haskell, the funkiest way to learn Haskell, which is the best functional programming language around. You may have heard of it. This guide is meant for people who have programmed already, but have yet to try functional programming.

Added by Petar Radošević: “Type system is the most important thing in Haskell. Master it and you will master the language. For me, it's still a work in progress.

8 Some interesting features of Haskell's type system

One of the most important ingredients of Haskell is its type system. Standard Haskell already provides a lot of useful mechanisms for having things checked at compile time, and the language extensions provided by the Glasgow Haskell Compiler (GHC) improve heavily on this. In this article, I will present several of Haskell's type system features. Some of them belong to

Added by Petar Radošević: “Considered to be the best Monad tutorial out there.

9 You Could Have Invented Monads! (And Maybe You Already Have)

If you hadn't guessed, this is about monads as they appear in pure functional programming languages like Haskell. They are closely related to the monads of category theory, but are not exactly the same because Haskell doesn't enforce the identities satisfied by categorical monads. Writing introductions to monads seems to have developed into an industry. There's a gentle Introduction, a

Added by Petar Radošević: “If you already have read something about Monads, this article can really make it *click*.

11 Functors, Applicatives, And Monads In Pictures

Here's a simple value: And we know how to apply a function to this value: Simple enough. Lets extend this by saying that any value can be in a context. For now you can think of a context as a box that you can put a value in: Now when you apply a function to this value, you'll get different ...

Added by Petar Radošević: “Clear explanation and the pictures do help!

12 Three Useful Monads

Note: before reading this, you should know what a monad is. Read this post if you don't! Here's a function half: And we can apply it a couple of times: half . half $ 8 => 2Everything works as expected. Now you decide that you want to log what happens in this function: half x = (x `div` 2, "I

Added by Petar Radošević: “I wanted to test my Haskell skill by writing a commandline program. This is a great library that helps you out with that.

13 24 Days of Hackage: optparse-applicative

We've already seen the Applicative type class pop up in various places through this series of blog posts - parsing, form validation, JSON serialisation, not to mention all sorts of convenience uses in the IO monad. Today, we'll continue to see just how versatile this type class is as we take a look at optparse-applicative. optparse-applicative, written by Well Typed's

Added by Petar Radošević: “One of the great libraries of Haskell which automatically generates test cases for you.

15 24 Days of Hackage: QuickCheck

As I mentioned in the article on errors, the Haskell programmer takes error handling and edge cases very seriously. While we try and constrain our types as much as possible, there is always a trade off between exact types and pragmatism, not to mention that there are some invariants that are very difficult to encode in the Haskell type system.

James Kolce

Designer & Web Developer

  • 0 Playlists
  • 0 Followers

alvian dk

Freshman

  • 8 Playlists
  • 0 Followers

Daniel Eifler

Freshman

  • 0 Playlists
  • 0 Followers

eranmeir

Freshman

  • 0 Playlists
  • 0 Followers

Kristina Voronina

Freshman

  • 0 Playlists
  • 0 Followers

Artur Czajka

Freshman

  • 0 Playlists
  • 0 Followers

Jesper Wiking

Jobbar på @telegramstudios, medarrangör av @ticdifilmklubb, @filmquizet och utgör 50% av @ikapodcast.

  • 0 Playlists
  • 0 Followers

Tonći Galić

Developer at Kabisa | Looking for smart developers / consultants

  • 0 Playlists
  • 0 Followers

akzfowl

Freshman

  • 0 Playlists
  • 0 Followers

Khal Ixto

Computer Science student at UFPR

  • 0 Playlists
  • 0 Followers

abdallah alshaer

big ambition and crazy dream

  • 0 Playlists
  • 0 Followers

Marko Roganovic

Front-End Developer and aspiring UX/UI Designer.

  • 1 Playlists
  • 14 Followers

Grishina Anastasya

Freshman

  • 0 Playlists
  • 0 Followers

Giorgi Tk.

Georgia Tech | Twilio | Chartboost

  • 3 Playlists
  • 137 Followers

Davide Petilli

Freshman

  • 0 Playlists
  • 0 Followers

Flora Edwards

Freshman

  • 0 Playlists
  • 0 Followers

ravindra pai

Freshman

  • 0 Playlists
  • 0 Followers

Dragos Iorgulescu

Freshman

  • 0 Playlists
  • 0 Followers

Jennifer Hwang

Freshman

  • 0 Playlists
  • 0 Followers

Alex_Frankfurt

Freshman

  • 0 Playlists
  • 0 Followers
Load more

Delete your comment

Are you sure you want to delete your comment?

Need help?