Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Racketeer Office Hours 2017 Task Ideas
This is a list of suggestions for tasks to tackle during Racketeer Office Hours, if you didn't bring a project of your own to work on.
Most of these tasks should (modulo mistakes) be approachable by people who are new to contributing to Racket, possibly with some help from a current contributor to get started.
If you decide to work on one of these tasks, please edit this page to mark it as claimed by you, so we can avoid duplicate work. When you're done, you're welcome to post a link to the resulting pull request / commit / repo / etc.
- Tag packages on pkgs.racket-lang.org, and/or add missing descriptions. And if feeling bold, add docs, or convert docs in other formats, if they exist.
- Add a localization for a language you know.
- Try to reproduce old bugs on gnats or github, close if they're not relevant anymore.
Docs that could use examples
- Racket reference (claim one section at a time. 4 has a number of functions with examples missing, but others probably do too)
- racket/gui & framework (with screenshots) (claim one section at a time)
- scribble, low-level API section
- graphics/turtles & graphics/value-turtles
- syntax-color (not exactly easy to use, examples could really help)
- openssl (make-log-based-evaluator can help here)
- net (claim one section at a time)
- file (claim one section at a time)
- data (claim one section at a time)
Potential "Good first bugs"
- https://github.com/racket/racket/issues/1690 (most of the way there, mostly integration remains)
- https://github.com/racket/racket/issues/1629 (goes with the next 2)
- https://github.com/racket/racket/issues/1567 (may be tricky)
- https://github.com/racket/racket/issues/1463 (most of the detective work has already been done)
- https://github.com/racket/racket/issues/1342 (candidate solution exists, need to push it the rest of the way, and other potential directions)
- https://github.com/racket/pict/issues/2 (may be deep)
- https://github.com/racket/db/issues/10 (move old-style logging to actual loggers, document topics, etc.)
- https://github.com/racket/lazy/issues/3 (some (most?) of the detective work appears to be done)
- https://github.com/racket/math/issues/2 (for someone well-versed in numerical analysis)
- https://github.com/racket/rackunit/issues/71 (probably requires decent macro-fu)
- https://github.com/racket/gui/issues/16 (cross-platform gui toolkit work)
- https://github.com/racket/htdp/issues/10 (small doc bug)
- https://github.com/racket/scribble/issues/120 (front end work)
- https://github.com/racket/scribble/issues/112 (front end work)
- https://github.com/racket/drracket/issues/130 (a lot of the detective work has already been done)
Automate more of the release tests
Using Docker for this, perhaps.
Write a Slack bot in Racket
Write new Typed Racket adapter modules
Some of these should go in
typed-racket-more, some in their own packages. See http://docs.racket-lang.org/ts-reference/Libraries_Provided_With_Typed_Racket.html#%28part._.Porting_.Untyped_.Modules_to_.Typed_.Racket%29 for info about creating these.
- Write a checker for ensuring completeness of the TR docs on this
There are lots of other possibilities here.
Try out Typed Racket with refinement types
- see the
succeed/safe-vector.rkttests for some examples