Skip to content

Pipes

The pipe operator keeps transformation code readable by letting values flow left to right.

Example

import Array from 'std:array'
names = users
|> Array.filter((user) => user.active)
|> Array.map((user) => user.name)

Why FScript leans on pipes

Pipes pair naturally with:

  • curried functions
  • data-last standard-library helpers
  • expression-oriented blocks

That makes multi-step transformations read like a sequence of small decisions rather than nested function calls.

Comparison to JavaScript

JavaScript often relies on method chains for this style. FScript gets a similar readability benefit while keeping helper functions explicit and separate from value objects.