Parrot Foundation and The Perl Foundation
businessMailing List: https://groups.google.com/group/tpf-gsoc-students
Parrot is a virtual machine designed to efficiently compile and execute bytecode for dynamic languages. Parrot currently hosts a variety of language implementations. Parrot Foundation is a US (Washington State) non-profit foundation, incorporated to:
- Protect the intellectual property for the Parrot virtual machine, tools, libraries, and language implementations, while offering it for use under an open source license.
- Cultivate an open source community and encourage the growth of an ecosystem of tools, libraries, extensions, applications, and language implementations around Parrot.
- Support the development of Parrot and other Parrot community activities through events and grants, and provide essential technical, legal, and organizational infrastructure for the project.
The Perl Foundation is dedicated to the advancement of the Perl programming language through open discussion, collaboration, design, and code. The Perl Foundation is a non-profit, 501(c)(3) organization based in Holland, Michigan. The Perl Foundation coordinates the efforts of numerous grass-roots Perl-based groups, including:
- International Yet Another Perl Conferences
- Carries the legal responsibility for Perl 5, Perl 6
- perl.org
- Perl Mongers
- PerlMonks
Completed Tasks
- Add ability to invoke methods from ParrotSharp
- Add an is_closed method to all Handle types
- Add Git information to README
- Add other matrix types in ComplexMatrix2D
- Add Read and Readline methods to Socket PMC
- add TODO to PIR Test::More
- Add wchar_t variants for Parrot embedding API string interface
- Add/Subtract other matrix types in NumMatrix2D
- Automatically create config.log when building Parrot
- Break PackFile_unpack into smaller functions (further)
- Bring test coverage for src/misc.c up to 100%
- Compare and Contrast Google's Dalvik VM and Parrot VM
- Compare and Contrast Neko VM and Parrot VM
- Create a design for a website to showcase Perl games
- Create a nice logo for Parrot Smolder
- Create a Parrot User Survey
- Create a Parrot Virtual Machine T-Shirt
- Create a Perl 6 T-Shirt
- Create a PL/Parrot Logo
- Create a website for http://parrot.github.org
- Create an object-based version of the md5sum code
- Create an object-based version of the sha256 code
- Create embedding API function to get a PMC Class object by name
- Create GDB pretty-printer for Parrot PMCs
- Create GDB pretty-printer for Parrot STRINGs
- Create Snazzy Logo for Parrot on RTEMS
- Create User Examples for NumMatrix2D
- Document Parrot's "make cover"
- Eliminate printf-based error handling in packfile code
- Evaluate possibly-dead functions in src/packfile/api.c
- Fix FileHandle clone
- Fix Parrot's sha256 implementation.
- Fix PIRC README
- fix tests for args checking for 0-arity subs
- Implement an NUnit test project for ParrotSharp
- Implement Chunked receive for LWP;Protocol;http
- Improve test coverage of src/embed/api.c by 10%
- Improve test coverage of src/embed/pmc.c by 10%
- Improve test coverage of src/embed/pmc.c by 10%
- Improve test coverage of src/embed/strings.c by 10%
- Increase code coverage of frontend/pbc_dump/main.c by 30%
- Increase code coverage of frontend/pbc_dump/main.c by 30%
- Increase code coverage of frontend/pbc_dump/packdump.c to at least 75%
- Increase code coverage of the BigInt PMC by 10%
- Increase code coverage of the BigInt PMC by 10%
- Increase code coverage of the BigInt PMC by 5%
- Increase code coverage of the BigNum PMC by 10%
- Increase code coverage of the BigNum PMC by 10%
- Increase code coverage of the BigNum PMC by 10%
- Increase code coverage of the BigNum PMC by 10%
- Increase code coverage of the bit ops by 20%
- Increase code coverage of the bit ops by 20%
- Increase code coverage of the Continuation PMC by 10%
- Increase code coverage of the Dynlexpad dynamic PMC to 100%
- Increase code coverage of the EventHandler PMC by 10%
- Increase code coverage of the EventHandler PMC by 10%
- Increase code coverage of the Float PMC to at least 99%
- Increase code coverage of the GzipHandle dynamic PMC by 15%
- Increase code coverage of the GzipHandle dynamic PMC by 15%
- Increase code coverage of the Integer PMC by 10%
- Increase code coverage of the Integer PMC by 10%
- Increase code coverage of the Iterator PMC by 10%
- Increase code coverage of the Iterator PMC by 10%
- Increase code coverage of the Multisub PMC by 30%
- Increase code coverage of the NativePCCMethod PMC to 100%
- Increase code coverage of the PackfileBytecodeSegement PMC by 20%
- Increase code coverage of the PackfileBytecodeSegement PMC by 20%
- Increase code coverage of the PackfileOpMap PMC by 10%
- Increase code coverage of the Rational dynamic PMC to 100%
- Increase code coverage of the Rational dynamic PMC to 99%
- Increase code coverage of the String PMC by 5%
- Increase code coverage of the String PMC by 5%
- Increase Complex PMC test coverage by 10% (reserved)
- Increase Complex PMC test coverage to at least 99%
- Increase Test Coverage for ComplexMatrix2D
- Increase Test Coverage for NumMatrix2D
- Increase test coverage of Bit dynops by 20%
- Increase test coverage of Bit dynops by 20%
- Increase test coverage of Bit dynops by 20%
- Increase test coverage of CallContext PMC by 10%
- Increase test coverage of Capture PMC by 10%
- Increase test coverage of Capture PMC by 10%
- Increase test coverage of Capture PMC by 10%
- Increase test coverage of Class PMC by 5%
- Increase test coverage of Continuation PMC by 10%
- Increase test coverage of Debug dynops by 20%
- Increase test coverage of io dynops by 20%
- Increase test coverage of io dynops by 20%
- Increase test coverage of io dynops by 20%
- Increase test coverage of Key PMC by 10%
- Increase test coverage of ManagedStruct PMC by 30%
- Increase test coverage of MappedByteArray PMC by 30%
- Increase test coverage of MappedByteArray PMC by 30%
- Increase test coverage of MappedByteArray PMC by 30%
- Increase test coverage of Math dynops by 20%
- Increase test coverage of Math dynops by 20%
- Increase test coverage of NCI PMC by 10%
- Increase test coverage of Object PMC by 5%
- Increase test coverage of Object PMC by 5%
- Increase test coverage of obscure dynops by 20%
- Increase test coverage of obscure dynops by 20%
- Increase test coverage of Opcode PMC by 20%
- Increase test coverage of Opcode PMC by 20%
- Increase test coverage of Opcode PMC by 20%
- Increase test coverage of OrderedHash PMC by 10%
- Increase test coverage of OrderedHash PMC by 10%
- Increase test coverage of ParrotLibrary PMC to at least 95%
- Increase test coverage of pbc_disassemble by 35%
- Increase test coverage of pbc_disassemble by 35%
- Increase test coverage of PMCProxy PMC by 10%
- Increase test coverage of Role PMC by 25%
- Increase test coverage of Scalar PMC by 10%
- Increase test coverage of Sub PMC by 10%
- Increase test coverage of Sys dynops by 20%
- Increase test coverage of Sys dynops by 20%
- Increase test coverage of Task PMC by 10%
- Increase test coverage of the OS dynpmc by 30%
- Increase test coverage of the OS dynpmc by 30%
- Increase test coverage of Timer PMC by 10%
- Increase test coverage of Timer PMC by 10%
- Increase test coverage of Transcendental dynops by 20%
- Increase test coverage of Transcendental dynops by 20%
- Increase test coverage of Undef PMC by 10%
- Increase test coverage of UnmanagedStruct PMC by 10%
- Mark all platform-specific functions PARROT_EXPORT
- Move code-running functions out of src/packfile/api.c
- Move front-end code files to new directory
- Move method get_fd() from FileHandle to Handle
- Parrot-Linear-Algebra needs a nice logo
- Parrot-Linear-Algebra website needs a redesign
- Parrot: Change names of 'make' coverage targets
- Parrot: Write program to create wiki page identifying 'hack' comments in source code
- Refactor close() method behavior on IO handle types
- Refactor Key PMC handling in Parrot-Linear-Algebra
- Refactor PackFile_unpack
- Refactor some Perl 5 code in Rakudo's configure system
- Relocate PIRCTasklist
- Remove autovivification behavior from ResizablePMCArray
- Remove logical_ VTABLEs
- Remove PCC calls from the IO API
- Remove share_ro VTABLE
- Rename public functions in src/datatypes.c
- Rename public functions in src/dynext.c
- Rename public functions in src/exit.c
- Rename public functions in src/global_setup.c
- Rename public functions in src/hash.c
- Rename public functions in src/hll.c
- Rename public functions in src/key.c
- Rename public functions in src/sub.c
- Rename public functions in src/utils.c
- Rename public functions in src/vtable.c
- Reorganize packfile-related files
- Research and Recommend a hashing library for Parrot
- Research embedding Parrot into FireFox
- Research embedding Parrot into Internet Explorer 8
- Research LAPACKE Solutions to Common Matrix Problems
- Review Parrot's 'make help'
- Sanify STRING->PMC Conversions
- Send full diffs of parrot commits to parrot-commits
- set_string_keyed in NumMatrix2D
- Support array types in arithmetic for ComplexMatrix2D
- Take 100 lines off of fill_params in src/call/args.c
- Take another 100 lines off fill_params
- Test coverage for Parrot_freeze_size
- Test coverage for Parrot_io_get_last_file_position
- Test coverage for Parrot_ns_make_namespace_autobase
- Test get_user_id branch
- Test iteration of DynLexPad
- Translate http://parrot.org/dev to German
- Translate http://parrot.org/download to German
- Translate Parrot README to Brazilian
- Translate Parrot README to Bulgarian
- Translate Parrot README to French
- Translate Parrot README to Polish
- Translate Parrot README to Romanian
- Translate Parrot README to Spanish
- Translate parrot.org/dev to Spanish
- Translate parrot.org/dev/docs/user to Spanish
- Translate parrot.org/download to Spanish
- Translate parrot.org/foundation to German
- Translate parrot.org/foundation to Spanish
- Translate parrot.org/languages to Spanish
- Translate README to Russian
- Translate REAMDE to German
- Update the NewParrotDevelopersGuide
- Use MappedByteArray for MD5 checksum calculation
- Warnings function for experimental features
- Write a function to serialize a PMC
- Write a new API function to get a Method from a PMC
- Write a Y-Combinator in Winxed
- Write new API functions to perform integer-keyed lookup and set
- Write new API functions to perform PMC-keyed lookup and set
- Write new API functions to perform string-keyed lookup and set
- Write the Man-Boy test in Winxed