# Discussion: How much to pipeline

**URL:** <https://discourse.elm-lang.org/t/discussion-how-much-to-pipeline/6305>\
**Category:** Request Feedback\
**Created:** [September 25, 2020, 3:55pm UTC](https://discourse.elm-lang.org/t/discussion-how-much-to-pipeline/6305 "2020-09-25T15:55:01Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![lydell](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/lydell/32/178_2.png) [@lydell](https://discourse.elm-lang.org/u/lydell)\
**Post date:** [September 25, 2020, 3:55pm UTC](https://discourse.elm-lang.org/t/discussion-how-much-to-pipeline/6305/1 "2020-09-25T15:55:02Z")

</div>

I really like `|>` pipelines. My brain now recognizes the `a (b |> c)` pattern and is tempted to convert it into `b |> c |> a`.

But sometimes I’m not sure if that’s actually better. For example:

```auto
Element.column [Element.spacing 8]
    (items
        |> List.map viewItem
    )

```

Refactoring that to:

```auto
items
    |> List.map viewItem
    |> Element.column [Element.spacing 8]

```

… while beautiful, it feels a bit like writing HTML like this (invalid HTML, I know):

```auto
<div>
  {{ loop viewItem items }}
</div class="spacing-8">

```

I kind of like when going through a `view` function is like going through the HTML inspector in the browser. Pipelines stray away from that a bit.

`|>` keeps execution order, but reverses structure order.  
`<|` keeps structure order, but reverses execution order.

Anyone else thought about this?

---

_[View the full topic](https://discourse.elm-lang.org/t/discussion-how-much-to-pipeline/6305)._
