-
Notifications
You must be signed in to change notification settings - Fork 232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
libp2p - Update Implementations Chapter #49
Conversation
|
||
This is the list of current modules available for libp2p: | ||
|
||
- libp2p (entry point) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be nice if each of these parts had a list of implementations in the different languages attached to it, like this:
- abstract-transport [spec](link/to/spec) [go](link/to/go) [JS](link/to/js)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if we're going to use the "abstract-X" modules for more than just javascript, can we:
- rename the convention to something like "X-interface" or "interface-X" or "libp2p-X" or "X-protocol" or "X-proto"
- use a programming language with types to define the interfaces (Go or Haskell ok for me)
- bikeshed discussion: "interface" is a well-understood concept across programming languages. the use of "abstract-X" in node/js makes up for javascript's lack of a type system, but will not be understood as readily by people in other languages. the right word for this in PL vocabulary is "protocol" or "interface". "protocol" is too general of a word and has so many meanings-- "interface" tends to be preferred these days.
- bikeshed link: https://en.wikipedia.org/wiki/Protocol_(object-oriented_programming)
- bikeshed trivia: "concepts" and "abstract base class" are two holdovers from C++ and friends (probably in typical disregard of "the type people")
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 for defining types in Haskell from my side
bikeshed: 👍 for interface
, 👎 for protocol
(too generic, too much overlap with network protocols)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I remember having this conversation and agreeing with you, should have added it as a TODO right away.
I like interface-X
.
👍 for Haskell too, however, we will have a mapping for each language as implementations appear :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Haskell :)
LGTM |
interfaces updated, merging :) |
libp2p - Update Implementations Chapter
No description provided.