Changes between Version 20 and Version 21 of GSoc2011

03/11/11 17:41:08 (3 years ago)

volunteer to mentor several ideas. +details about profiler


  • GSoc2011

    v20 v21  
    7272 * '''Difficulty''': 5/5 
    7373 * '''Links of Interest''': <NONE, please add some> 
    74  * '''Possible Mentors''': <UNKNOWN, please volunteer!> 
     74 * '''Possible Mentors''': Whiteknight 
    7575 * '''Details''': Create an LALR parser generator tool. The tool should be written in one of the lower-level languages which run on Parrot (PIR, NQP, Winxed, other) for maximum portability. The parser generator should take a language specification and compile it into an LALR parser in a manner similar to YACC/Bison. The generator parser likewise can be in any suitable language. For this project, a working LALR parser generator engine is more important than the ability to understand a huge number of input patterns and pattern modifiers. 
    7676 * '''Expected Deliverables''': A working LALR parser generator capable of converting a language specification into an LALR parser. Necessary unit tests, examples, and documentation must be included. 
    9696 * '''Difficulty''': 4/5 
    9797 * '''Links of Interest''': <NONE, please add some> 
    98  * '''Possible Mentors''': <UNKNOWN, please volunteer!> 
     98 * '''Possible Mentors''': Whiteknight 
    9999 * '''Details''': Parrot needs a new debugger. There exists a toolset called "parrot-instrument" which can be used to insert introspection, analysis, and manipulation functions into Parrot internals. You may optionally (preferrably) use Parrot-Instrument as the basis for your new debugger or create a new one from scratch. A successful debugger will have the ability to set break-points on subroutines at the PIR and HLL level, set watchpoints on registers or individual PMCs, and introspect state information from a running program. The debugger should read information from annotations so that it can be used to work with various HLLs. Performance of code executing under the debugger is not a primary concern for the initial deliverable. 
    100100 * '''Expected Deliverables''': A working debugger with the capabilities listed above. In addition, the successfull student should provide adequate unit tests, code examples, and documentation. 
    105105 * '''Links of Interest''': <NONE, please add some> 
    106106 * '''Possible Mentors''': <UNKNOWN, please volunteer!> 
    107  * '''Details''': Expand on parrot-instrument, build awesome tools on top of it, get it fully working again. 
    108  * '''Expected Deliverables''': <UNKNOWN, Please list what the deliverables will be> 
     107 * '''Details''': Several HLLs, especially Rakudo Perl 6, have need of a profiling tool that can generate information about subroutine call patterns and execution times. This will help to identify bottlenecks and areas where optimization is needed, among other things. There exists a project called "Parrot-Instrument" which can be used to add analysis, introspection, and runtime manipulation tools to Parrot. Parrot-Instrument may be used as the basis for a successful code profiling tool. Ideally, the code profiling tool will operate on PIR/PBC and will be agnostic to the specific HLL in which the code was originally written. 
     108 * '''Expected Deliverables''': A working code profiling tool including unit testing and user documentation. 
    110110=== Green Threads and Tasks === 
    112112 * '''Difficulty''': <UNKNOWN> 
    113113 * '''Links of Interest''': <NONE, please add some> 
    114  * '''Possible Mentors''': <UNKNOWN, please volunteer!> 
     114 * '''Possible Mentors''': Whiteknight 
    115115 * '''Details''': Create an implementation of preemptive-switching green threads for Parrot. The successful project should be designed with an eye towards eventual M:N thread hybridization.  
    116116 * '''Expected Deliverables''': <UNKNOWN, Please list what the deliverables will be>