All this time, I had thought that the "free" in "free (monoid | monad | applicative)" meant "gratis" because you automatically get the algebraic structure instance by virtue of the data structure. However, it turns out that "free" means "unrestricted" ("libre") because the instance is only restricted by the structure's laws.


I blame the tagline "monads for free," which implies the gratis definition of the word (that you can get a monad instance without doing anything).

Sign in to participate in the conversation
Functional Café is an instance for people interested in functional programming and languages.