Good beginner issues for people who would like to contribute

@marco_gallegos asked about how to get involved on the compiler and math side.

First off, @WardBrian is the Stanc expert. Two others with a lot of knowledge are @stevebronder and @nhuurre. I’m sure they have some advice on beginner issues or where to start there.

On the math side, @stevebronder is our resident expert, especially on the types and autodiff. @andrjohns similarly has a command of the cpp library and has been very active the last couple of years. I’m definitely lower on the cpp skills pole but can guide you around the general structure and tests.

I updated a few of the math-issues with the good first issue label. Anything tagged good first issue in the math library is ripe for beginners. Go to the github repo and click on label, filter by “good first issue”.

6 Likes

I won’t be much help to anyone wanting to contribute to the compiler, but I’m certainly happy to provide guidance for anyone interested in getting involved with the R packages. We’re always looking for new contributors.

4 Likes

Thanks, @spinkney!

I’d really really like to add a bunch of reshaping functions like you get in numpy. Those can all be written in a fully templated C++ form without worrying about autodiff. So they’d be a good place to start contributing to the math library.

2 Likes

For people interested in working on the compiler, I recommend reading through the stanc developer docs at index (stanc.index). If you’ve never touched OCaml before, the home page there links to a few resources that may be helpful, as well as containing some installation instructions.

The repo also has some good first issue tagged issues. A lot of these are around adding new signatures to functions, which is probably the easiest place to start in the compiler, and has its own dedicated how-to guide.

The number one piece of advice I would give to someone interested in the compiler is just try it. Relative to C++, OCaml is a pretty ‘beginner safe’ language. If you can get your ocaml to compile, chances are it’s at least close to correct. If you run into issues, reach out to me here on the forums or on slack, etc. We all had to start somewhere, and I TA’d a couple OCaml classes in college, so it brings back fond memories to help out beginners

2 Likes