ppxlib icon indicating copy to clipboard operation
ppxlib copied to clipboard

Some info about Outreachy winter 2021/22

Open pitag-ha opened this issue 4 years ago • 2 comments

Hi all,

here's some information about the Outreachy application period. First of all: welcome! :partying_face:

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.

  • On a PPX deriver called ppx_yaml. It's a (de-)serializer between yaml and OCaml types.
  • 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.

I might add more repos to this list later.

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 @shonfeder. We're both very excited about having Outreachy applicants and later an Outreachy intern contributing to PPX! 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. One of the projects we -i.e. the OCaml community- is participating with in this Outreachy round consists in writing some Ppxlib.Deriving derivers. So we might get some Outreachy applicants contributing to some of our PPX repos (the ones I've listed above) from Oct. 8 till Nov. 5. as part of the application process to that project :)

pitag-ha avatar Oct 08 '21 00:10 pitag-ha

I cannot open the discord links in the issue. Discord denies access. Maybe you have to link permanent invites instead?

pkel avatar Oct 08 '21 11:10 pkel

Maybe you have to link permanent invites

Oh, that's a very good point, thanks! I've just updated the issue description to also add an invitation link to discord.

Btw, @pkel is an Outreachy volunteer for the Outreachy community, so he'll also be available for questions and guidance for Outreachy applicants, both for the PPX project and for the other OCaml projects :smile:

pitag-ha avatar Oct 08 '21 12:10 pitag-ha