Grant Proposal: List Operators In RPerl Compiler
Tue, 13-Feb-2018 by
Coke
edit post
The Grants Committee has received the following grant proposal for the January/February round.
Before the Committee members vote, we would like to solicit feedback from the Perl community on the proposal.
Review the proposal below and please comment here by February 20th, 2018.
The Committee members will start the voting process following that and the conclusion will be announced the
last week of February.
# List Operators In RPerl Compiler
- Name:
Mathias Köhler
- Amount Requested:
USD $800
## Synopsis
This grant proposal covers the implementation of multiple list operators in the RPerl compiler.
There are many operators AKA builtin functions in Perl, this proposal covers a subset of those related to lists and arrays.
## Benefits to the Perl Community
Perl is an operator-rich language, which is one of the aspects of Perl which makes it powerful.
Most Perl programs make use of list operators, and will benefit greatly from the ability to be compiled using RPerl.
## Deliverables
A new version of RPerl will be released with the new list operators.
## Project Details
This project is solely focused on the RPerl compiler internals, which are written in Perl and C++.
A new Perl module is created for each list operator to be implemented, and then code generation routines are written to output both Perl and C++ code.
For detailed technical information about implementing RPerl operators, please see the following documentation:
[https://github.com/wbraswell/rperl/blob/master/docs/devs\_getting\_started.txt](https://github.com/wbraswell/rperl/blob/master/docs/devs_getting_started.txt)
I have already implemented a number of scalar RPerl operators, including `sin`, `cos`, `exp`, `log`, `sqrt`, `atan2`, and `length`.
[https://github.com/wbraswell/rperl/commits?author=93r](https://github.com/wbraswell/rperl/commits?author=93r)
Since 2016 I have been an officially authorized contributor to RPerl, and I continue to work with the creator Mr. Braswell on numerous RPerl tasks.
## Inch-stones
Create Perl tests, Perl code generation, C++ code generation, and C++ tests for the following list operators:
- Quoted Word `qw()`
- Push `push`
- Pop `pop`
- Shift `shift`
- Unshift `unshift`
- Range `..`
- Reverse `reverse`
- Sort `sort`
## Project Schedule
This grant project should be complete in approximately 3 or 4 months, and I am available to begin now.
## Completeness Criteria
We will be done when RPerl is updated on CPAN with the new list operators.
## Bio
I am a professional Perl programmer and a member of the RPerl development team.
I will continue working with the creator of RPerl, Mr. Braswell, throughout this grant project.
Comments (0)