HTTP/1.1 -1 Read error in cache disk data: SuccessContent-Type: text/plain; charset="utf-8" Last-Modified: Sat, 22 Jan 2022 04:36:02 GMT Content-length: 2599 Connection: Close Proxy-Connection: Close X-Cache: HIT from web1.osuosl.org Server: ProxyTrack 0.5 (HTTrack 3.49.2) 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. = Projects = 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 || || '''[wiki:TreeUnit 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 || == 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 [http://live.gnome.org/Vala Vala] programming language || || '''Groovy Compiler''' || medium || || || '''Fantom Compiler''' || medium || || log. Cops show up and Sharad shoots Bas