GSOC 2019 Ideas
This is the D Language Foundation's Google Summer of Code 2019 page.
If you are interested in working on a D project as part of GSoC 2019, as either a student or mentor, please contact Michael Parker at aldacron@gmail.com. Include "GSoC 2019" in the email subject line.
Contents
Timeline
The timeline for GSoC 2019 can be found here.
Ideas
The D ecosystem is always in need of improvement through the revision of existing projects and the creation of new ones. The core projects like the(standard library) and the compilers (Compilers) are always in need of attention. Other important areas include GUI support, integration with other languages, improving and enhancing the tooling, IDE and editor support, and more.
Please add your project ideas to the list below, being as descriptive as you can in the summaries. Students interested in participating can use the ideas listed here as jumping off points, so the more information you provide, the easier it will be for them to get started. If your idea is particularly complex or nuanced, consider leaving contact information so that interested parties may follow up.
Some ideas from the GSoC 2018 and the Symmetry Autumn of Code pages remain unimplemented. Feel free to include here any of those you care about.
Graphics library for resource constrained embedded systems
Create a 2D rasterizer, rich drawing primitives, and 2D graphics library suitable for resource constrained embedded systems (e.g. ARM Cortex-M) to be used in industrial controls, home appliances, medical devices, consumer electronics, and IoT just to name a few. The end goal would be something similar to Segger's emWin. The library would be used to drive LDCs similar to https://www.adafruit.com/product/3396 Requirements:
- Hardware agnostic; should simply render to a frame buffer
- No dependencies (No Phobos, no C standard library, and no official D runtime).
- Consider using -betterC, but a custom minimal D runtime is also a viable option
Related work:
- https://github.com/TurkeyMan/color
- https://bitbucket.org/timosi/minlibd
- https://github.com/JinShil/stm32f42_discovery_demo
Proposed Project Mentors: TBA
Tabular data container (data frames)
Pandas, R and Julia have made data frames very popular. As D is getting more interest from data scientist (e.g. eBay or AdRoll) it would be very beneficial to use one language for the entire data analysis pipeline - especially considering that D (in contrast to popular languages like Python, R or Julia) - is compiled to native machine code and gets optimized by the sophisticated LLVM backend.
Minimum requirements:
- conversion to and from CSV
- multi-indexing
- column binary operations, e.g. `column1 * column2`
- group-by on an arbitrary number of columns
- column/group aggregations
Proposed Project Mentor: TBA