You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On a PPX extension node rewriter called ppx_yojson. It's a library that allows representing a json in a nice OCaml way and turning it via an extension node into a so-called yojson value. yojson is the OCaml standard library to represent json's.
On ppx_deriving: the repo that holds both the old infrastructure to write OCaml derivers and some basic derivers. The issues labeled for you there are related to the derivers, not the infrastructure.
On the repos listed above you can find issues labelled good first issue and/or issues labelled medium.
First Steps
First of all, to contribute to any of those repos you'll need to get OCaml up and running. If you haven't already done that, you can have a look at the Up and Running With OCaml page on the ocaml.org site.
How to Contribute
Once you got OCaml up and running, you can start working on an issue on one of those repos mentioned above. For that, just have a look at the conversation of the issue to see if there's already someone currently working on it. If not, you can write a quick comment stating that you'll start working on the issue and do so.
Where to read about PPX
Unfortunately, people who are new to the PPX ecosystem and maybe also new to OCaml will probably find the documentation about PPX a bit incomplete and hard to read. Still, there are a couple of good resources about PPX:
It's also quite interesting to check out the compiler's parsetree module, i.e. the place in which the types of all kind of nodes in OCaml's AST are defined; the comments in there reflect how the source code represented by an AST node looks like. Once you're a bit more advanced and actually start manipulating an AST, you can have a look at the documentation of Ast_builder, the module which is used to construct AST nodes.
Where to ask
So as mentioned, the documentation might not always be that straight-forward.That's even more of a reason that you should never hesitate to ask! If you have a question concerning one concrete issue, you can just ask on the issue. For general questions, you can ask on discord, which you can access via this invitation link. Once you've joined discord, if you have a question about PPX that's not related to some issue, you can ask on the PPX channel. If you have a general question about something else, you can ask on another discord channel, for example on the Outreachy channel.
Mentors
You have two mentors for the application period and for the internship: @pitag-ha and @ayc9, We're both very excited about having Outreachy applicants and later an Outreachy intern contributing to PPX! @pitag-ha has already mentored the same project last round and @ayc9 was last round's intern of this project. On weekends we tend to be non- or less available.
For Non-applicants
Outreachy is an initiative to give folks from under-represented groups in open-source the opportunity to do a remote internship in an open-source project. So for open-source communities, Outreachy is a great opportunity to work together with folks from lots of different backgrounds and maybe even grow the community and become more diverse! Outreachy provides the infrastructure for the internships and application process, and the open-source communities need to provide projects and mentoring. The ppxlib standard derivers project was already an Outreachy project last round, when make was implemented, and is again an Outreachy project this round.
The text was updated successfully, but these errors were encountered:
Hi all,
here's some information about the Outreachy application period. First of all: welcome! 🥳
For applicants
Thanks for contributing to the OCaml PPX ecosystem! Here's some information that's additional to the project description on the Outreachy site.
Contributions
Where to find issues
There are different repos where you can look for issues.
ppx_yaml
. It's a (de-)serializer between yaml and OCaml types.ppx_yojson
. It's a library that allows representing a json in a nice OCaml way and turning it via an extension node into a so-calledyojson
value.yojson
is the OCaml standard library to represent json's.ppx_deriving
: the repo that holds both the old infrastructure to write OCaml derivers and some basic derivers. The issues labeled for you there are related to the derivers, not the infrastructure.On the repos listed above you can find issues labelled
good first issue
and/or issues labelledmedium
.First Steps
First of all, to contribute to any of those repos you'll need to get OCaml up and running. If you haven't already done that, you can have a look at the Up and Running With OCaml page on the ocaml.org site.
How to Contribute
Once you got OCaml up and running, you can start working on an issue on one of those repos mentioned above. For that, just have a look at the conversation of the issue to see if there's already someone currently working on it. If not, you can write a quick comment stating that you'll start working on the issue and do so.
Where to read about PPX
Unfortunately, people who are new to the PPX ecosystem and maybe also new to OCaml will probably find the documentation about PPX a bit incomplete and hard to read. Still, there are a couple of good resources about PPX:
It's also quite interesting to check out the compiler's parsetree module, i.e. the place in which the types of all kind of nodes in OCaml's AST are defined; the comments in there reflect how the source code represented by an AST node looks like. Once you're a bit more advanced and actually start manipulating an AST, you can have a look at the documentation of Ast_builder, the module which is used to construct AST nodes.
Where to ask
So as mentioned, the documentation might not always be that straight-forward.That's even more of a reason that you should never hesitate to ask! If you have a question concerning one concrete issue, you can just ask on the issue. For general questions, you can ask on discord, which you can access via this invitation link. Once you've joined discord, if you have a question about PPX that's not related to some issue, you can ask on the PPX channel. If you have a general question about something else, you can ask on another discord channel, for example on the Outreachy channel.
Mentors
You have two mentors for the application period and for the internship: @pitag-ha and @ayc9, We're both very excited about having Outreachy applicants and later an Outreachy intern contributing to PPX! @pitag-ha has already mentored the same project last round and @ayc9 was last round's intern of this project. On weekends we tend to be non- or less available.
For Non-applicants
Outreachy is an initiative to give folks from under-represented groups in open-source the opportunity to do a remote internship in an open-source project. So for open-source communities, Outreachy is a great opportunity to work together with folks from lots of different backgrounds and maybe even grow the community and become more diverse! Outreachy provides the infrastructure for the internships and application process, and the open-source communities need to provide projects and mentoring. The ppxlib standard derivers project was already an Outreachy project last round, when
make
was implemented, and is again an Outreachy project this round.The text was updated successfully, but these errors were encountered: