# Fixing the Piping/Chaining Issue

**URL:** https://discourse.julialang.org/t/fixing-the-piping-chaining-issue/89654
**Category:** Internals & Design
**Tags:** proposal, piping, chaining, partial-evaluation, threading
**Created:** [November 2, 2022, 11:04am UTC](https://discourse.julialang.org/t/fixing-the-piping-chaining-issue/89654 "2022-11-02T11:04:36Z")
**Posts on this page:** 1
**Showing post:** 104

<div class="post-metadata">

### Author: ![uniment](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/uniment/32/24532_2.png) [@uniment](https://discourse.julialang.org/u/uniment)
#### Post date: [November 7, 2022, 12:18pm UTC](https://discourse.julialang.org/t/fixing-the-piping-chaining-issue/89654/104 "2022-11-07T12:18:28Z")

</div>

> [@Sukera](#):
>
> Literally the only reason the compiler was able to fold your computation was because the input to your `Fix` thing was part of the benchmarking expression. Here, let me help you out:
> 
> …

We could do all the Julia benchmarks and include compile time if you prefer.

> [@Sukera](#):
>
> It cannot, because `Beta` at the syntax level is _just another function_ that can return an object of any type. Running at least type inference to know this is required.

Is running type inference problematic?

> [@Sukera](#):
>
> Whether or not the function was created with `_` or not has _no bearing on which methods are selected_.

Never said it did.

> [@Sukera](#):
>
> that has NOTHING to do with whether you have fancy syntax for defining partially applied functions or not.

The first bit of information you need, before you can begin your search for methods that dispatch on your object, is a) what the object is, and b) the fact that you are about to call a function on it. That’s what piping + fancy partial application syntax provide, in an order that’s convenient (and therefore accessible and likely to be used) for the human-machine interaction in question.

I’m not claiming to solve autocomplete, not by a long shot. I’m just hoping to get over one of the first hurdles so that it can be in reaching distance.

> [@Sukera](#):
>
> Because they are in a _statically typed_ language where the type of _every single object_ is determined just by having a method/function in the first place.
> 
> …
> 
> OOP languages can have their easy autocomplete on their syntax because they are statically typed

Perhaps I shall inform [this person](https://discourse.julialang.org/t/my-mental-load-using-julia-is-much-higher-than-e-g-in-python-how-to-reduce-it/18902) that they are not allowed to use autocomplete in Python, because it’s not statically typed.

---

_[View the full topic](https://discourse.julialang.org/t/fixing-the-piping-chaining-issue/89654)._
