habla computing blog

Welcome to Habla's blog!
Don't Fear the Profunctor Optics (Part 3/3)

Don't Fear the Profunctor Optics (Part 3/3)

Published Oct 2, 2017 by Jesus Lopez-Gonzalez

Once we've seen concrete optics and profunctors, it's time to introduce the last installment of this series: Profunctor Optics. Here, we'll see how to encode optics in a profunctor representation, ...

Don't Fear the Profunctor Optics (Part 2/3)

Don't Fear the Profunctor Optics (Part 2/3)

Published Sep 25, 2017 by Jesus Lopez-Gonzalez

As promised, here it is the second installment of our series on profunctor optics: Profunctors as Generalized Functions. Today, we'll introduce several members of the profunctor family (Cartesian, ...

Don't Fear the Profunctor Optics (Part 1/3)

Don't Fear the Profunctor Optics (Part 1/3)

Published Sep 19, 2017 by Jesus Lopez-Gonzalez

Today we start a new series of posts on Profunctor Optics. Since WordPress has some limitations to highlight Haskell snippets, we've decided to publish it as a Github repo. You can find the first p...

Functional APIs: an OOP approach to FP

Functional APIs: an OOP approach to FP

Published Jun 26, 2017 by Javier Fuentes

In the series of posts about the essence of functional programming, we’ve already seen how we can build purely declarative programs using GADTs. This is a picture of what we got (using more standar...

From

From "Hello, world!" to "Hello, monad!" (part III/III)

Published May 30, 2017 by Juan Manuel Serrano

In the first part of this series, we saw how we can write the business logic of our applications as pure functions that return programs written in a custom domain-specific language (DSL). We also s...

Algebras for the Masses!

Algebras for the Masses!

Published Feb 20, 2017 by Jesus Lopez-Gonzalez

According to Wikipedia, “an Algebraic Structure is a set with one or more finitary operations defined on it that satisfies a list of axioms”. From a programming perspective, that sounds like a bunc...

Theme built by C.S. Rhymes