For the first few months of development of the new Zig compiler, work was being done by very few people (sometimes literally just 1 person for a stretch of time), usually in very distinct, non-overlapping periods of time. I sense that we are entering a new phase where we are having more contributors coming in regularly (:tada:) and they face some distinct problems - and those problems will affect the existing contributors as well:
I'd like to propose we introduce some lightweight way for improving both of these issues(pun intended). Something like:
I really don't care about the format necessarily, but I think it would likely be out of band to Git since if I'm working on something I can't mark it as in progress unless I literally make a "dibs" PR.
(I mean Roc compiler written in Zig - maybe we should call it rocZ and the old one rocR?)
I like old and new compiler
Yes please. That's what I was looking for recently.
I'm currently reading trough the src and prs. I have no zig experience but the src doesn't look difficult.
The most challenging for me is to build a theory around what's happening there. I mean, get a sense of reasoning. So I'd also appreciate some guidance, maybe pairing. I'll prepare a list of silly questions, maybe they will also help to improve documentation
I think having a very light formalization of things like "who's a domain expert in this thing and open to pair"? Might be nice, but I think we could just use git blame
and Zulip to accomplish that
But we are all (well almost, :wink:) part time contributors taking time away from friends and family to move this project forward, so we don't want someone wasting time or effort either flailing in the wind or duplicating work that you didn't know was already underway
Also I feel like there is another issue exist that could be fixed here:s
I'd also like a way to formalize the language spec for v0.1 a bit so that work on things can move smoothly without a new(or existing) contributor being like "What's the syntax for open tag unions? Do they even still exist?"
I should add the proviso that I've been a delegate to ECMA TC-39 (the Javascript standards body) for like three years, so maybe I am just used to more formalized, explicit processes.
Some more formalization sounds good to me too
I'd also like a way to formalize the language spec for v0.1 a bit
A lightweight start for this may be to make a single parseable roc file that demonstrates all syntax. Not all headers of course, but as much as possible.
Let's have a separate thread for that? Formalized spec also means conformance testing?
Would be nice to generate spec from the parser itself but I think it's unrealistic at least right now?
yeah I don't think we should have a spec
at least not right now
i don't mean a spec spec , but kind of what anton's talking about
a reference point
that's kept up to date with the current syntax
yeah that sounds GREAT!
I love that idea
sweet
we can talk about this thread tonight in the meetup
if yall want
Is there an API for zulip? I wonder if we could feed an AI the last week of conversations and have it generate a summary (draft). I'd be happy to take something like that and edit it to give a rolling update on progress.
I think this is the answer: https://roc.zulipchat.com/#narrow/stream/306878-off-topic/topic/casual.20conversation/near/526206457
Also, here's a related topic in zulip docs: https://zulip.readthedocs.io/en/10.2/production/ai-integrations.html
I think the AI Search thing is fine for recovering state if we put in the effort. But to get a snapshot of what is being worked on _right now_ I think a channel in either #compiler development or #contributing that's solely for "I'm working on this" - paired with putting up draft PRs as soon as you start a piece of work is the easiest and most reliable path forward for solving for coordination.
I think a channel in either #compiler development or #contributing that's solely for "I'm working on this" - paired with putting up draft PRs as soon as you start a piece of work is the easiest and most reliable path forward for solving for coordination.
For visibility: this channel has been started: #contributing > Worklog (Draft PRs and coordination)
Luke Boswell said:
Is there an API for zulip? I wonder if we could feed an AI the last week of conversations and have it generate a summary (draft). I'd be happy to take something like that and edit it to give a rolling update on progress.
Yeah https://github.com/zulip/zulip-archive seems very nice, it can be set up with github actions for easy incremental updates. What do you think @Luke Boswell?
That looks great Anton :+1:
I'll get started on setting it up
I'm noodling around with the when
-> match
conversion... am probably going to get carried away and implement Can for it while i'm here
Luke Boswell said:
I'm noodling around with the
when
->match
conversion... am probably going to get carried away and implement Can for it while i'm here
conversion? you mean just in the Can IR right, it's already match in the Parser and in the actual syntax
Yeah, just in Can
ok, and just to wrap up the convo here. we are going to put all work we are about to start (or currently working on if not here already) in #contributing > Worklog (Draft PRs and coordination)
Anthony Bullard has marked this topic as resolved.
Anton said:
I'll get started on setting it up
https://roc-lang.github.io/zulip-export/
I'll check if there is an easy way to extract the posts of the last week from this setup.
Okidoki, every post comes with a timestamp, example file. The whole public channel export is only 29 MiB, so very doable to just go through all json files with a script and filter based on the timestamp.
Last updated: Jul 06 2025 at 12:14 UTC