Comments (2)
this could be implemented as the pipe operator in elixir where:
other_function() |> new_function() |> baz() |> bar() |> foo()
is the same as
foo(bar(baz(new_function(other_function()))))
so v can still be methods with the same syntax
i'm personally very much against the idea of replacing methods with functions, they allow the type's methods to be with the type which is much more organised and intuitive, whereas having all methods be functions would lead modules to be much more cluttered and making it almost impossible to differentiate traditional methods and functions apart
from v.
Im really cant imagine situation where i need to differ methods and functions. In this case we can easily extend other code without any breakings because we cant touch private things in that functions, and it even allows to extend regular types like int
or string
.
It is like mixins
Pipe operator is ok, but it will add new pipe operator, UFCS just reuse .
. Also UFCS has clearest syntax even in simple situations. I mean you write subject.op(arg)
, but in other case you woud write op(subject, arg)
or subject |> op(arg)
, for me first way is the clearest one
from v.
Related Issues (20)
- Empty lines after function signature are removed HOT 1
- a V compiler bug
- I want to use this if
- The "Array Slices" section in the V documentation is incorrect HOT 5
- operator overloading not work: invalid operator `+` to `voidptr` and `voidptr` HOT 5
- v broken again on freebsd when using clang, the default compiler HOT 1
- Compiler bug when trying to return an interface-optional with a fallback default value
- Sorting an array of references HOT 9
- Building 0.4.6 release: `V panic: No such file or directory; code: 2` HOT 13
- V allows duplicated operator method
- x &&= y is not implemented HOT 4
- x.json2 fails to decode a map with number keys HOT 2
- eof ignored because of <> HOT 1
- when <circular> printing does not show the number of item in the array HOT 2
- builder error: cannot convert 'struct array' to 'struct array *'
- Including Homebrew's sshlib fails to compile HOT 1
- cgen error for generic function over maps and arrays HOT 1
- Allows annonymous struct type to be passed as args
- c-style for loop with type alias provokes build error
- cannot use constants with values obtained using `$d` as a condition in comptime `if`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from v.