Types and Functions 2: Currying

It goes wrong fairly quickly when it comes to Chapter 04: Currying. It is unclear why you would want to do this and how the code really works.

An additional problem is that many function definitions after this are written in curried form, like so:

// join :: String -> [String] -> String

It would have been nice if it was mentioned how to read these. To be fair it is in a way in the same Chapter 07 where I found the above signature: “Without fully understanding the details, you could always just view the last type as the return value.”

Digging through a bunch of mostly unhelpful documents, I figured out that you can take everything around the arrows as function arguments except for the last one.

So the join above is a function that takes a String and an array of Strings and returns a String.

Addendum: This also makes it easier to read the Ramda type signatures.

Types and Functions 1: Introduction

I got sick of it and I want to learn the weirder stuff of functional programming seriously now.

I’m under the impression that these are fundamentally very simple things that people overcomplicate either because they don’t really understand them or because they are poor communicators.

I think it should be possible to explain the concepts and their use without any jargon, so I asked for sources:

I’m now working with the Mostly Adequate Guide which starts of really good but at some point also dives off into mathematical weirdness. Let’s see how far I get.

Truly, if you don’t throw hundreds of millions into the trash fire that is the big consultancies, there is no limit to what you can get done.

I usually say that application development (mobile and otherwise) is a solved problem but once you go to any kind of scale, you run into all of these operational issues which keep things interesting.

By a solved problem, I mean that figuring out what to build and building it is by now, for an experienced team, a linear endeavor. Aligning the rest of the organization to be able to do this, however, not so much.

English language critique of Turkish rap produced in my backyard here in Berlin. That’s the way I like it.

My easily incensed people

A Turkish guy in a van turns the corner tight enough to almost run us over. He then stops and pulls down the window: “Möchtest du mir etwas sagen?”

To which I better don’t reply: “Ja, ‘senin ananı babanı sikeyim.'”

These guys are so easily triggered. Once I did say this and the dude followed me through half of Schöneberg in his car.