Ideas for students' summer projects

rikki cattermole rikki at cattermole.co.nz
Wed May 23 14:33:43 UTC 2018


On 24/05/2018 2:25 AM, Steven Schveighoffer wrote:
> On 5/22/18 10:00 PM, Mike Franklin wrote:
>> On Tuesday, 22 May 2018 at 16:27:05 UTC, Eduard Staniloiu wrote:
>>
>>> Let the brainstorming begin!
>>
>> An apprentice for Walter.
>>
>> I think Walter needs an apprentice (or 10).  Too much knowledge about 
>> D's design decisions, present, and future are locked up in his mind.  
>> He needs to be disseminating his knowledge, training the next 
>> generation of D maintainers, and widening the bottleneck that 
>> currently exists for fixing bugs and evolving the language.
> 
> I was actually thinking, we need really a layman's explanation of how 
> things work in the compiler. I'm not sure this requires apprenticeship, 
> it may just need more documentation.
> 
> Common questions I have when looking at dmd code:
> 
> Where is this in the source?
> How do I know I'm in a function?
> How do I know I'm in a template?
> What module am I in?
> How do I know what has been run?
> What is the proper way to generate lowered code?
> 
> I recently fixed a bug in DMD for the first time at dconf. The PR still 
> hasn't been merged yet, but I'm confident about the fix.
> 
> But I really only was able to fix this because the way the code was 
> written -- essentially it was a string mixin, and I could see where the 
> error was in the string. But it took ALL DAY to find it. Knowing where 
> to look is hugely important (and I would never have found it without the 
> help of several people during the hackathon), but also knowing what you 
> are looking at is hugely important.
> 
> -Steve

I would love to help fix this.

Problem is, my PR which helps make the lexer (de)initializable hasn't 
been reviewed by anybody who can actually confirm my statements about 
its usefulness and the fact that once the parser is done too, we can out 
right switch the compiler to it (and hence not needing tests ext.).

Sadly I have another ready to go (bug fix) and then there is another 
after that planned. Getting parser/AST up to scratch won't be pleasant 
and will require a lot of breaking changes compared.


More information about the Digitalmars-d mailing list