25 ms·
The best course of action for Go on this front, would be to expose operator overloading of numeric operators, combined with a community expectation that this is
by stcredzero 8y ago
The best course of action for Go on this front, would be to expose operator overloading of numeric operators, combined with a community expectation that this isn't to be used for anything but numeric operations.
What would be the disadvantage of using a syntactic preprocessor to accomplish the same thing? We have an API for parsing golang. What if there was a way of marking certain files to be parsed and re-written with function calls? It could be done with a file suffix, and this could be made fairly convenient.
- Merovius 8y ago> The best course of action for Go on this front, would be to expose operator overloading of numeric operators, combined with a community expectation that this isn't to be used for anything but numeric operations. I don't think this solves the issues. For example, I have yet to think of a way to overload `+` in a consistent and performant manner. E.g. think of `a += b` vs. `a = a + b`. Either you make them separate operators (in which case there's no guarantee they do the same thing - see for example Python, where they commonly differ) or you are overallocating in the common case.
- stcredzero 8y agoEither you make them separate operators (in which case there's no guarantee they do the same thing - see for example Python, where they commonly differ) Geez. That's obnoxious. Why do we programmers do this to ourselves? or you are overallocating in the common case. I see. I was thinking along the lines of being able to use complex numbers with arithmetic operators, not along the lines of doing high performance crunching of floats.