What Are Partial Applications?


A Partial Application is a function where some or all of the arguments are packed inside, ready to go and it’s just waiting for a few more before the main function is invoked. They’re like functions that have default arguments, but are pure functions with a fixed amount of parameters.


The following article and companion video playlist will cover what a partial application is and how it can be used for a more pure function option for default arguments. It’s assumed you know what pure functions are. We’ll cover:

  • basic function arguments
  • default arguments and how order can make them harder/easier to use
  • function arity
  • function currying with closures and show how the parameter order is reversed compared to default arguments
  • building partial applications to show how to make using default arguments pure
  • creating partial applications with no arguments
Continue reading “What Are Partial Applications?”

Real World Uses of Tacit Programming: Part 2 of 2


In our last post, we talked about what Tacit Programming is, how it can help reduce argument count of public API functions using known concrete implementations, and how it can help shrink code size & function count for Array comprehensions and Promise chaining.

In this post, we’ll show some helpful ways to use tacit programming in data validation & composing functions together synchronously as well as an example of taking things way too far.
Continue reading “Real World Uses of Tacit Programming: Part 2 of 2”

Real World Uses of Tacit Programming: Part 1 of 2


Tacit Programming, also called point-free style, is a way to write functions without specifying the arguments. While functional programming languages have more abilities to leverage this style, there is still two key things you can use point-free style to help with in JavaScript, Python, and Lua that I wanted to cover today. Specifically reducing the amount of arguments for functions, and aiding in composition by writing less code.
Continue reading “Real World Uses of Tacit Programming: Part 1 of 2”