Uniform function call syntax: Difference between revisions

Content deleted Content added
No edit summary
link
Line 1:
'''Uniform Function Call Syntax''' (UFCS) or sometimes '''Universal Function Call Syntax''' is a [[programming language]] feature in [[D (programming language)|D]], [[Rust (programming language)|Rust]]<ref>https://doc.rust-lang.org/book/ufcs.html</ref> and [[Nim (programming language)|Nim]] that allows any [[function (computer programming)|function]] to be called
using the syntax for method calls (as in [[object-oriented programming]]), by using the [[receiver (object oriented programming)|receiver]] as the first parameter, and the given arguments as the remaining parameters.<ref>http://dlang.org/function.html#pseudo-member</ref> UFCS is particularly useful when function calls are [[Pipe (computer science)|chained]],<ref>http://ddili.org/ders/d.en/ufcs.html</ref> (behaving similar to pipes[[Pipe (computer science)|pipe]]s), or various dedicated operators[[Operator (computer programming)operator]]s available in [[functional languageslanguage]]s for passing values through ana series of [[Expression (computer science)|expression]]s. It allows free-functions to fill a role similar to [[extension method]]s in some other languages. Another benefit of the method call syntax is use with "[[dot-autocomplete]]" in [[IDE (computing)|IDE]]s, which use type information to show a list of available functions, dependent on the context. When the programmer starts with an argument, the set of potentially applicable functions is greatly narrowed down, aiding discoverability.
 
== C++ proposal ==