ocaml-ppx / standard_derivers Goto Github PK
View Code? Open in Web Editor NEWA bundle of standard derivers
A bundle of standard derivers
Hi all,
here's some information about the Outreachy application period. First of all: welcome! ๐ฅณ
Thanks for contributing to the OCaml PPX ecosystem! Here's some information that's additional to the project description on the Outreachy site.
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-called yojson
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 labelled medium
.
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.
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.
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.
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.
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.
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.