Version 22 (modified by whiteknight, 11 years ago)

+memcached interface

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
Name Size Synopsis
Generational Garbage Collector medium (in progress in the generational_gc branch)
Compacting Garbage Collector large
Concurrent Garbage Collector medium
LLVM JIT Backend medium
libJIT Backend medium
Trace-Based JIT large Add a trace-based JIT runcore
treeUnit? small Create a tree unit test language for P*ST
Context-Threaded Runcore medium
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
Prototype-based Metamodel medium Create a prototype-based object metamodel suitable for languages like JavaScript
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

Compiler Projects

  • 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.

Name Size Synopsis
Vala Compiler medium Create a compiler for the  Vala programming language
Groovy Compiler medium
Fantom Compiler medium