# Pipes and broadcasts

**URL:** <https://discourse.julialang.org/t/pipes-and-broadcasts/3591>\
**Category:** General Usage\
**Tags:** broadcast\
**Created:** [May 8, 2017, 12:46pm UTC](https://discourse.julialang.org/t/pipes-and-broadcasts/3591 "2017-05-08T12:46:53Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![gdkrmr](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdkrmr/32/2791_2.png) [@gdkrmr](https://discourse.julialang.org/u/gdkrmr)\
**Post date:** [May 8, 2017, 12:46pm UTC](https://discourse.julialang.org/t/pipes-and-broadcasts/3591/1 "2017-05-08T12:46:53Z")

</div>

The following does not work, is this a bug?

```julia
(3, 3) |> abs.

```

this one does work of course

```julia
(3, 3) |> x -> abs.(x)

```

but is a bit verbose.

---

<div class="post-metadata">

**Author:** ![yuyichao](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/yuyichao/32/20_2.png) [@yuyichao](https://discourse.julialang.org/u/yuyichao)\
**Post date:** [May 8, 2017, 1:06pm UTC](https://discourse.julialang.org/t/pipes-and-broadcasts/3591/2 "2017-05-08T13:06:55Z")

</div>

No bugs here

`(3, 3) .|> abs` does work and `abs.((3, 3))` is easier to read and shorter.

---

<div class="post-metadata">

**Author:** ![Evizero](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/evizero/32/10118_2.png) [@Evizero](https://discourse.julialang.org/u/Evizero)\
**Post date:** [May 8, 2017, 1:09pm UTC](https://discourse.julialang.org/t/pipes-and-broadcasts/3591/3 "2017-05-08T13:09:40Z")

</div>

What you are trying to do doesn’t work because `abs.` does not exists. The `.` notation is a syntax sugar that gets translated to a `broadcast` call. You can inspect this.

```julia
julia> expand(:(abs.(x)))
:((Base.broadcast)(abs, x))

```

---

<div class="post-metadata">

**Author:** ![gdkrmr](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdkrmr/32/2791_2.png) [@gdkrmr](https://discourse.julialang.org/u/gdkrmr)\
**Post date:** [May 8, 2017, 1:15pm UTC](https://discourse.julialang.org/t/pipes-and-broadcasts/3591/4 "2017-05-08T13:15:57Z")

</div>

thanks, of course this is only a toy example, my applied case is a bit longer.

---

<div class="post-metadata">

**Author:** ![xiaodai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xiaodai/32/15937_2.png) [@xiaodai](https://discourse.julialang.org/u/xiaodai)\
**Post date:** [October 18, 2017, 11:48am UTC](https://discourse.julialang.org/t/pipes-and-broadcasts/3591/5 "2017-10-18T11:48:47Z")

</div>

x |\> fn. |\> fn2. |\> fn3. |\> fn4.  
etc etc is better than

fn4.(fn3.(fn2.(fn.(x))))

I think |\> should work with broadcasts
