functional programming

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 →

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 →