New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

form a core team #290

Open
nikomatsakis opened this Issue Jan 25, 2018 · 22 comments

Comments

Projects
None yet
@nikomatsakis
Collaborator

nikomatsakis commented Jan 25, 2018

Hello all,

It's become pretty clear that I don't have the time to devote to LALRPOP that it really deserves. This is a shame, because I think there is lots of exciting things left to do in LALRPOP. In the short term, I think we need to improve the time it takes to compile (this may involve some rustc hacking, but I bet we can do some things on our side), fix the compilation issues of the regex engine, and probably write more documentation. But looking further out I think there's tons more: I'd like to see further improvements and shorthands to eliminate boilerplate; the ability to have modular grammars; more backends beyond LR-based ones; deep integration with procedural macros, once those become available; etc.

Therefore, I am looking to form a kind of "LALRPOP core team". I would like to mentor people in how LALRPOP works so that we can keep up momentum and support each other, and also to have more people involved in design when it comes to more complex features -- a lot of the features I have in mind get stalled because I just can't decide how to resolve some syntactic question or other. To symbolize this shift in ownership, I have moved lalrpop to its own github org.

Consider this an "open invitation" -- if you are interested in being on the core team, leave a comment, and I will try to find things for you to do and mentor as needed. Assuming all goes well,
and you're still interested, I will add you to the org. All I ask is that you like the idea of continuing to hack on and improve LALRPOP going forward. =)

I am cc'ing the people who have contributed to LALRPOP releases in the past based on the git log, but the offer stands for anyone.

cc list

@Marwes
@Nemikolh
@ahmedcharles
@ashleygwilliams
@brson
@dagit
@dflemstr
@federicomenaquintero
@fhahn
@fitzgen
@gwenn
@jchlapinski
@jnbr
@joerivanruth
@king6cong
@larsluthman
@malleusinferni
@mchesser
@minijackson
@nick70
@nikomatsakis
@nixpulvis
@notriddle
@oconnor0
@paupino
@pensivearchitect
@pyfisch
@ravenexp
@reuben
@ruuda
@serprex
@shahn
@tildeio
@vmx
@wagenet
@wieczyk
@willcrichton
@withoutboats
@wycats

UPDATE: Edited to change references to time to something closer to my original intent.

@nikomatsakis nikomatsakis added the urgent label Jan 25, 2018

@ahmedcharles

This comment has been minimized.

Contributor

ahmedcharles commented Jan 25, 2018

I'm interested, though I'm curious what level of time commitment you're looking for on average?

@Dylan-DPC

This comment has been minimized.

Contributor

Dylan-DPC commented Jan 25, 2018

I'm interested. Though time is a constraint

@nikomatsakis

This comment has been minimized.

Collaborator

nikomatsakis commented Jan 25, 2018

I don't have in mind a very big time commitment or a specific number -- I'm not sure how to phrase it -- I guess I mean that I'd like it if you think you want to do more than just a one-off PR. (I think sometimes people know up front that they have a specific itch they want scratched and that's it -- nothing wrong with that, just doesn't fit my conception of a core team.)

LALRPOP doesn't seem to have that many urgent bug reports or anything -- I mostly just hope we can get enough people that we're landing a PR or two per month, putting out regular releases. Maybe push towards some kind of 1.0 release.

Anyway, gotta go do some other stuff today, but I'll check back in and put up some ideas for things we can do to get started!

@willmurphyscode

This comment has been minimized.

willmurphyscode commented Jan 25, 2018

I am definitely interested!

@sunjay

This comment has been minimized.

sunjay commented Jan 25, 2018

I am interested! 🙋‍♂️

@franleplant

This comment has been minimized.

franleplant commented Jan 25, 2018

@gugahoa

This comment has been minimized.

gugahoa commented Jan 25, 2018

What previous knowledge is expected to be able to help?

@Nemikolh

This comment has been minimized.

Contributor

Nemikolh commented Jan 25, 2018

Count me in!

@udoprog

This comment has been minimized.

Contributor

udoprog commented Jan 25, 2018

I depend on LALRPOP for a couple of things. It's a great project and I would love to help out making it even greater.

@k0pernicus

This comment has been minimized.

k0pernicus commented Jan 25, 2018

I am interested too :-)

@wieczyk

This comment has been minimized.

Contributor

wieczyk commented Jan 25, 2018

@rowdymehul

This comment has been minimized.

rowdymehul commented Jan 25, 2018

Count me in!

@nikomatsakis

This comment has been minimized.

Collaborator

nikomatsakis commented Jan 26, 2018

Wow, this is awesome. I'm sort of overwhelmed by how many of you there are, but that's great! I went through and tagged various issues as "Let's Do This". I left some notes on how to do it, but I don't have a ton of time this morning, so they are sometimes minimal. Please go ahead and take a look and leave a comment and/or ping me on gitter if you need some help getting started. =) Also feel free to look for other issues that I didn't tag; I'll try to add more over the weekend.

@nikomatsakis

This comment has been minimized.

Collaborator

nikomatsakis commented Jan 26, 2018

@gugahoa

What previous knowledge is expected to be able to help?

A familiarity with parser generators helps, but I'm happy to try and explain things, and I think there is plenty of work to do that doesn't require diving into the guts of the LR(1) algorithm itself (to be honest, these algorithms aren't that complex anyway, though it takes some time to get your head wrapped around them; they kind of "do the obvious thing" -- tough of course that "obvious thing" took years to develop I suppose :) ).

@xmonader

This comment has been minimized.

xmonader commented Jan 28, 2018

Hi I'm interested as well

@wieczyk

This comment has been minimized.

Contributor

wieczyk commented Jan 28, 2018

@gugahoa

What previous knowledge is expected to be able to help?

Modern Compiler Implementation in ML

I whole-heartedly recommend this book, it contains chapters about LR/LALR/SLR parsers. It is not long text, but it explains topic very well and it is easy to read. In my humble opinion, the best place to start learning LR parsing.

(You can also find variant of this book dedicated to C and Java).

@nikomatsakis

This comment has been minimized.

Collaborator

nikomatsakis commented Feb 7, 2018

Another bug that might be an easy way in for someone who is interested: #307

By the way, so far @ahmedcharles and @Marwes have been added to the maintainers team. Thanks you two!

@nikomatsakis

This comment has been minimized.

Collaborator

nikomatsakis commented Feb 28, 2018

Here is another actionable bug, now with some mentoring instructions:

#325 (comment)

@nikomatsakis

This comment has been minimized.

Collaborator

nikomatsakis commented Feb 28, 2018

This bug would be a great way to come to understand LR(1) parsing more deeply:

#303

Right now, LALRPOP generates a bunch of code with every project, but I think we can extract out most of that into a generic function that lives in lalrpop-util. In fact, I've already gotten that far on my branch -- you can see the generic function here -- but now we need to modify the code generation to generate the trait impl that it needs. The trait provides information about the states etc.

@tekknolagi

This comment has been minimized.

tekknolagi commented Aug 13, 2018

I am tentatively interested! I have quite a bit of time until mid-September, and then a moderate amount of time thereafter.

@nikomatsakis

This comment has been minimized.

Collaborator

nikomatsakis commented Aug 30, 2018

So I've decided to try and take a different approach here. I'm going to close this issue, but instead I'm going to be holding weekly "sync meetings" in the gitter channel. The timing is Friday at 18:00 UTC (first meeting tomorrow). Don't worry if you can't attend, because we'll publish out some minutes. The main idea will be to select some issues to file, things to do every week, and try and generally chart our course and keep things moving.

@nikomatsakis

This comment has been minimized.

Collaborator

nikomatsakis commented Aug 30, 2018

Oh ps if you want to be added to a calendar invite, send me a privmsg on gitter.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment