haskell

Haskell Reflections Part 2: What Haskell Taught Me

Haskell Reflections Part 2: What Haskell Taught Me Disclaimers All of my thoughts and opinions here are entirely my own, and do not reflect the opinions of my associates, my employer, or anyone else. What Haskell Has Taught Me In my last blog post, I talked about what I thought about the Haskell programming language, and how it stacked up to my expectations of it. If you haven’t read it yet, I would recommend reading it before reading this post.

Read more →

1 Year With Haskell, Part I

Haskell, A Year in Production Foreword Disclaimers All of my thoughts and opinions here are entirely my own, and do not reflect the opinions of my associates, my employer, or anyone else. I am not an expert in Haskell. I have a year of shipping it, and most of that year has been focused on a single repository. It is entirely possible that every negative thing I have to say about Haskell is my own skill issue.

Read more →

Haskell Tutorial Part 2

Haskell Tutoriall Part 2 In this part 2 of our Haskell tutorial, I’m going to show you how to install Haskell from scratch on your computer. Part 1: Install GHCUP For this tutorial, we’ll be using ghcup, an all-in one tool to install the following the ghc compiler (haskell’s most popular compiler) cabal (haskell’s package manager, similar to npm in javascript) stack (a layer around cabal that makes sure packages work together nicely) the haskell language server (HLS) (a language server, resposible for things like “go to definition” and intelligent autocomplete) With that, let’s get into it!

Read more →

Linked Lists Compared

Linked Lists Functional, Procedural, and Object Oriented; Part 1 Over the last 2 weeks, I’ve been building a singly linked list implementation from scratch in Haskell, Ruby, and C. I originally did it just to become a little bit more sharp in these languages, but what I found was really interesting, so I thought I would share my findings in a blog post. What is a Linked List? A linked list is one of the most foundational data structures in computer science.

Read more →

Haskell Tutorial Part 1

Haskell Tutorial Part 1: Introduction to the Language and Concepts Part 1: What is Haskell? Haskell is a general purpose programming language, like Java or Python. It is compiled, often with the GHC compiler, and like Java, it has strong static typing. Unlike Python or Java, Haskell follows a Functional Programming paradigm, but more on that in Part 2. Haskell is also lazy-evaluated, meaning that any code that isn’t needed for a return value in a function is never evaluated.

Read more →

Haskell type keyword reference manual

In this short blog post, I will explain the difference between data, type, newtype, class, and instance keywords in haskell and how they all work together. This is not meant to be an in-depth tutorial, but just a reference guide. If you program occasionally in haskell and just want a quick reference, bookmark this page. data: This just defines a new data type in haskell. Several examples are below: Record Syntax (a row in a database):

Read more →