Comments (3)
See my other response for this. You need to write a trifactorial function inverse in order to close this issue.
from carbon-lang.
Summary of the problem with restriction on Public visibility:
this is beneficial as the restriction could help enforce good design practices, encouraging developers to use more explicit and self-documenting parameter passing methods, such as named parameters or data structures
Proposed solution:
The solution is to provide clear guidance and examples which could help developers to understand the reason of restriction and they can therefore, adhere the best practices of parameter passing.
Here are some alternative strategies or patterns that achieve the same goals without imposing such a strict limitation.
1- By encouraging the use of named parameters.
2- By promoting the use of data structures.
3- By providing clear guidelines and examples.
4- By considering gradual adoption.(by gradually applying restrictions.)
from carbon-lang.
My stance on this is that we should try out the minimal set of restrictions and see what happens. I feel like we can easily tighten these rules later if useful, and it seems somewhat interesting to leave the flexibility technically in the language.
Put differently, I wonder if whether to use this technique in a public API will end up being more of an HOA rule than a building code.
from carbon-lang.
Related Issues (20)
- Missing block string literals highlighting
- Missing filetype highlighting in block string literals
- Forward declarations of choice types HOT 5
- Subcommand help doesn't work
- need name shadowing rules for `Self` HOT 11
- Add a github bot to add suggestions implementing pre-commit changes HOT 1
- Broken links HOT 1
- llvm-ar not found when building with clang-tidy HOT 13
- Does Lambdas' introduction of ref and copy resolve the open question in values.md? HOT 2
- Getting-Started package issue HOT 1
- publish VS Code extension on extensions marketplace HOT 3
- Infinite loop in `LookupQualifiedName`
- I have updated this file to use bazel internally. But I could not convert this into bazel. HOT 1
- Update sample code in README HOT 1
- Alternative naming for `has_extern` keyword HOT 3
- bazel build fails Ubuntu 23.10 HOT 7
- compiling simple file fails HOT 1
- Where are the examples? HOT 1
- How to compile a shared library .so HOT 1
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 carbon-lang.