Libp2p for Ocaml by Developing a C Wrapper for the Go Implementation
onokognome opened this issue · comments
Motivation and context
My ultimate goal is to use libp2p from Ocaml. But rather than starting from scratch writing an Ocaml implementation, I'd like to write a C wrapper for the Go implementation, then either using the C wrapper directly in Ocaml, or writing an Ocaml wrapper (library) around the C wrapper (depending on how things look when we get there)
Value
The two main benefits are
- having an Ocaml solution quickly that is as 'correct' as the Go implementation
- having something that's probably helpful in other porting situations - since C can be linked to many different languages.
Benefits (if addressed)
The C wrapper would be generally useful to others that want to port the library.
Risks (if not addressed)
Expected output and constraints
I would expect:
- to have an agreed to C wrapper for the Go implementation
- have either a guide or a library for Ocaml.
Relevant discussion
Design/implementation notes
Since the C wrapper should be generally useful, some agreement on its signature before going too far is important. In fact, this is probably a good first step - defining the signature of the C representation of a module.
Potential funders
Funding would be great and since I'm between jobs at the moment it would be helpful; but I'd move forward with this in any case. I'm more interested in getting plugged in at this point.