The Raku Programming Language Collect, Conserve and Remaster Project
Originally published on 11 December 2008 by Jonathan Worthington.
Yesterday I was delighted to hear that my request for a Hague Grant to work on various aspsects of Rakudo has been accepted. Jesse asked me to blog a project plan, and this post is my attempt at that. It’s not going to be exhaustive and detailed everywhere, especially because some parts of this involve me working out how to do things rather than just doing them, and thus I don’t know the exact details of all that has to be done yet. I’m going to break this down into what I hope to achieve over the three months this grant is scheduled for - this one and the next two.
This month from an implementation angle will be mostly about getting us registering symbols in the namespace at compile time and then reaping the various benefits of doing so. Thus a (probably quite complete) list of the implementation tasks will be:
use at compile time; last time I tried this, it broke things in pre-compiled modules, but now this needs to be figured out properly.proto being in scope make all other subs/methods without a plurality declarator be multis.proto in a class turn any non-multis on roles that the class does also be multis if they were not declared that way (but see below for “only” caveat).only conflicting with multi and reporting of such errors.I will also be spending some time thinking through various issues and doing some design work, to see how I’m going to do various things. Of note I want to spend time pondering:
In this month I plan to do two of the big changes/refactors and start building some stuff around them. The first will be changes to the dispatcher. The second will be refactoring roles to handle parameters, and the selection of what role to do based upon a multiple dispatch on the provided parameters. Since the design work this month will determine exactly what tasks will be needed, I’ll instead list the things that I will expect to work by the end of the month.
And some nice-to-haves that can slip to February if needed will be:
trait verb.This month the nice-to-haves from January must be completed if they weren’t already. The rest of the work will focus on parametric roles. Of note, by the end of this month, and thus the grant, I expect the following to work.
of keyword for declaring parametric types, e.g. List of Int.of type for subroutines.There is a plan to create a Synopsis 14 that focuses on generics/type parameterization. Since I will be reviewing all of this material and will probably have some clarifications to seek/make and various things to flesh out, I plan to talk with Larry about me producing a draft of this as I am working on the grant.
So, to work I go!