# Allowing the object.method(args...) syntax as an alias for method(object, args ...)

**URL:** <https://discourse.julialang.org/t/allowing-the-object-method-args-syntax-as-an-alias-for-method-object-args/62051>\
**Category:** Internals & Design\
**Tags:** question, design\
**Created:** [May 29, 2021, 5:09pm UTC](https://discourse.julialang.org/t/allowing-the-object-method-args-syntax-as-an-alias-for-method-object-args/62051 "2021-05-29T17:09:54Z")\
**Posts on this page:** 1\
**Showing post:** 119

<div class="post-metadata">

**Author:** ![aplavin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aplavin/32/222056_2.png) [@aplavin](https://discourse.julialang.org/u/aplavin)\
**Post date:** [October 3, 2022, 7:57am UTC](https://discourse.julialang.org/t/allowing-the-object-method-args-syntax-as-an-alias-for-method-object-args/62051/119 "2022-10-03T07:57:48Z")

</div>

> [@uniment](#):
>
> Benefits to UFCS:
> 
> - the ability to think of the noun first and the verb next,

That’s indeed useful, and pipes already give the ability.

> [@uniment](#):
>
> - the ability to chain operations on successive transformations of an object (similar to function composition or piping but with more arguments), and

That often requires putting the “main” argument as the last function argument, not the first. Think of common data manipulation functions `map/filter/mapreduce/etc`: they wouldn’t be convenient with your proposal.  
Meanwhile, one can use a helper piping package, for example with DataPipes:

```julia
@p X |> filter(isodd) |> map(log) |> findmax(abs)
@p "Hello, world!" |> split(__, ",") |> replace.(__, "o"=>"e") |> join(__, ":")

```

> [@uniment](#):
>
> - autocomplete on what methods are available on that object _while typing the method name_, ideally showing the most-type-specialized functions at the top of the list. This seems significantly easier and more convenient than the ?(x, …) notation being worked on.

Autocomplete relates to tooling, not the language syntax itself. It doesn’t seem fundamentally more difficult to autocomplete `x |> (tab)` than `x..(tab)`, the assumption of a specific “main” argument position is there either way.

---

_[View the full topic](https://discourse.julialang.org/t/allowing-the-object-method-args-syntax-as-an-alias-for-method-object-args/62051)._
