Rip supports a variety of interfaces for iterating over collections.

```language-rip numbers = 1..5 double = -> (n) { n + n } ```
Setup code
```language-rip result =, numbers) ```
Functional Syntax
```language-rip result = ```
Object Oriented Syntax
```language-rip result = numbers |> ```
Pipeline Syntax
```language-rip result = from n in numbers select n + n ```
SQL Syntax

Regardless of how any result above gets created, it will be a System.Pipeline object. Pipelines have many advantages, not the least is their ability to be lazy-evaluated. Pipelines are not restricted to iterating over collections; any value may be passed through.