> For the complete documentation index, see [llms.txt](https://docs.midio.com/midio-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.midio.com/midio-docs/reference/the-midio-language/partial-function-application.md).

# Partial function application

Midio functions can take other functions as input by using the top-right socket as illustrated bellow. The [`Std CallFunction`](/midio-docs/built-in-nodes/core-std.md#callfunction)function can be used to call functions passed as input.

<figure><img src="/files/H6S0HfXTJHeH8l69jNfN" alt="" width="563"><figcaption></figcaption></figure>

When the function being used as input has any inputs set, like the `Math Add`function above, which has its `first`input set to `123`*,* the function acts as a [partially applied function](https://en.wikipedia.org/wiki/Partial_application).&#x20;

This means the `Math Add`function above now only takes one input instead of two. This input can either be supplied as an object with the input name as a key, as we do above, or as a list with only one input, like we show below.

<figure><img src="/files/lGZJB3RI0kFEOc9Ijuwr" alt="" width="563"><figcaption></figcaption></figure>

Partial function application can be very useful in situations when you needs to be able to [pass a function](/midio-docs/guides/map-filter-reduce.md) which captures certain data which is only available outside the function.&#x20;

Partial function application can act as a limited kind of [closure](https://en.wikipedia.org/wiki/Closure_\(computer_programming\)) in those circumstances.
