This page is going to list some ideas for largish projects that people might consider for various academic levels, or for other situations like GSOC.
Add your project here. If you have lots of ideas, please create a separate page for your project and link it here. Adding more design and guidance information will improve the chances of the project actually getting completed.
Individual Core Development Projects
- Small: suitable for a branch, a Bachelor's-level thesis project
- Medium: suitable for a GSoC project, Bachelor's-level group project, or a reasonable-sized grant proposal
- Large: suitable for a Master's thesis, PhD dissertation, or
|Compacting Garbage Collector||large|
|Concurrent Garbage Collector||medium|
|treeUnit?||small||Create a tree unit test language for P*ST|
|Polymorphic Inline Cache||medium (for a small implementation)|
|NFG||medium||Add NFG string normalization form (partially completed in 2010 GSoC project)|
|GObject Metamodel||medium||Create an object metamodel for Parrot based on GObject|
|Green Threads||small||Implement green threads in Parrot (partially done in 2010 GSoC project)|
|Asynchronous IO||large||Implement asynchronous IO operations. May require threading improvements first|
|dbus interface||medium||Implement a dbus wrapper library for Parrot|
|i18n support||medium||Implement an i18n translation system so that all internal system messages can be translated into other languages|
|CUDA bindings||medium||Implement CUDA bindings for Parrot so applications can take advantage of GPU processing power|
|memcached interface||small||Create an interface to memcached on Parrot. The interface should allow storage/lookup of serialized PMCs, STRINGs, and other arbitrary data|
|LALR Parser Generator||large||Create an LALR parser generator (similar to YACC/Bison) that runs on Parrot and generates pure PIR/PBC parsers|
- Small: A toy language, or based heavily on another language for which we have an existing compiler project
- Medium: Most general-purpose programming languages, not including large runtime libraries
- Large: A particularly large language, or a language with a particularly large and involved runtime library
This is not a comprehensive list of languages for which we would like to see compilers written.
|Vala Compiler||medium||Create a compiler for the Vala programming language|