---
title: "Pipes"
image: "https://hem.run/social/hem.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://hem.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Pipes

`|>` inserts into the first argument of an uncurried call: `x |> f` is `f(x)`, and `x |> f(a)` is `f(x, a)`. It emits an ordinary call with no runtime import.

```hem title="slug.hem"
let slug = title |> normalize |> truncate(80) |> encodeURIComponent
```

```ts emitted title="slug.ts — generated"
const slug = encodeURIComponent(truncate(normalize(title), 80));
```

Hem libraries use fixed-arity, data-first APIs, so direct and piped forms have the same TypeScript ABI. Pipe into a later argument, or intentionally partially apply a function, with an explicit arrow.

Source: https://hem.run/tour/pipes/index.mdx
