> 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="https://1896308808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRdFpuRAnTVYgmlCXLLou%2Fuploads%2FY395vTLdiagmvGk5QBss%2FMidio.png?alt=media&amp;token=e4c01bc9-2e06-446f-a183-55502de7620f" 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="https://1896308808-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRdFpuRAnTVYgmlCXLLou%2Fuploads%2FzJOxaTPpFxXphf4L7GoD%2FMidio.png?alt=media&amp;token=442895e5-3350-42bf-a36e-4772022a0764" 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.
