First Class Protocols: Stage 1
- Dominant language
- No language data
- Stars
- 435
- Forks
- 23
- PR merge metrics
- No merged PRs in 30d
Description
Champion: @michaelficarra
Repo: https://github.com/michaelficarra/proposal-first-class-protocols
Slides: https://docs.google.com/presentation/d/1WrvSyslnF-5VnPj3k3HRq8MRzuiSN1kQ6ENE1iUSmDU/edit?usp=sharing
First presented at the Sept 2017 meeting
## Example
```js
protocol ProtocolName {
// declare a symbol which must be implemented
thisMustBeImplemented;
// and some methods that you get for free by implementing this protocol
youGetThisMethodForFree(...parameters) {
methodBody;
}
}
class ClassName implements ProtocolName {
[ProtocolName.thisMustBeImplemented]() {
// this is the implementation for this class
}
}
let instance = new ClassName;
instance[ProtocolName.youGetThisMethodForFree]();
```
### Implementation
- https://github.com/disnet/sweet-interfaces
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue describes a first-class protocols proposal and points to the slides and the sweet-interfaces implementation repository. Start by reading the proposal materials and inspecting that implementation; no project files or tests are named here. The Stage 1 scope and completion criteria need clarification before implementation can begin.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100