September 17, 2026

What’s In A Name

Point-free is a way of writing programs. It is also the name over the door, for the same reason.

Ask a programmer what point-free means and you will get one of two answers. The first is the definition. The second is the joke, which is that it is also called pointless style, and sometimes earns it. Both are right, and this business is named for both.

The term

In functional programming, a function is written point-free when its definition never mentions the thing it works on. The word is borrowed from mathematics. A space is made of points; point-free topology studies a space by its open sets and never names a single point. Programmers took the word for their own use: the argument is the point, and a definition that gets by without naming it is point-free. In the APL family the same idea goes by tacit programming, which is the more descriptive name and the less used one.

Here is the smallest example there is, in Haskell. To add up a list of numbers you can say what to do to the list:

sum xs = foldr (+) 0 xs

Or you can drop the list and say only what the adding is:

sum = foldr (+) 0

Same function. The first line is about the operation and its input. The second is about the operation. And you have written point-free code yourself if you have ever typed a pipe into a terminal:

cut -d ' ' -f 1 access.log | sort | uniq -c | sort -rn | head

The file is named once, at the front, and then never again. Each program after it is a step, the data passes through the steps in order, and nothing in the middle is given a name. The whole line is a description of a process with a hole at the front where the input goes.

What it buys

The point-free version of a function describes what happens, not what it happens to. That is a real gain. A definition with no argument in it can be read as a recipe, checked as a recipe, and used on anything the recipe applies to. It composes: two point-free functions fit end to end, because neither has a name sticking out of it.

It has a cost, and the joke is the cost. Chase point-free far enough and the code stops saying what it does; a reader has to run it in their head to find out. So the discipline is not never name the point. It is name the point when the name helps, and notice how often it does not.

Why a web business is named for it

The sheet on the front of this site says it in two sentences. You own the code. We own the process. That is the point-free split, said to a customer.

Your site is the points. The words, the photographs, the hours, the prices, the domain, and the folder of plain files under your name that holds all of it. Nothing in that folder is ours, and when you leave you take every file.

The process is the part with no customer in it. The design system every one of these sites is built from. The lift that reads an existing site and carries it over. The check that proves nothing was lost on the way. The build that turns a folder of files into a site, and the pipeline that puts it on your domain and keeps it there. Each of those was written once, about no one in particular, and each works on the next site because it was never told about the last one. Your site is that process, applied to your points.

Which is also why the split holds. A process that never named your data has nothing of yours in it, and your data was never taught anything about the process. Take the files to another host, another developer, another program: they are plain files, and they work. Leave, and nothing in the process was yours to lose. There is nothing on either side to be locked into.

What the name costs

Almost nobody outside programming knows what it means, and some programmers hear the joke first. I knew that when I chose it. The name is a claim I have to explain, which is fine, because explaining is most of the work anyway. A small business does not need a lecture on function composition. It needs a site that is up, on its own domain, made of files it can hold. The name is for the people who ask why that works. This post is the answer, and the rest of this blog is more of the same: one decision at a time, and the reason behind it.