Thanks for your honest, insightful, and caring responses to my barely structured post but I wanted to be able to write that the PR is 500 days old so I had to get it out.
I’ll try to respond to most of you (@wclr , I’ve seen your question about the benefits of ES modules but I’d like to keep that discussion out of this thread which is also why I argued quantitatively with the number of positive reactions on the github issue).
@robertdp
Were you around for the 0.14 core/contrib library update marathon? The maintainers did a lot of work of course, but many community members raised their hands for these smaller tasks.
Indeed I was, but I’ll be honest here, the laudable and herculean efforts required to get that out (thanks again to those who made it!) didn’t seem to be worth it to being able to leave out up to two letters when writing Proxies.
@JordanMartinez
That debrief was fantastic, thank you very much, a great read! Has there been some follow-up on it?
You specifically mention bower
as a pain point and I can see why it might make sense to get the registry out to avoid the pain of dealing with that.
Third, there were a LOT of one-time costs in this past v0.14.0 that made the breaking release require a LOT of work.
I think that is actually part of the point I’m trying to make. I do think that as long as these changes are (at least mostly) orthogonal, they should be made independently.
Why do these changes need to happen together? I feel like they should be decoupled. Why can’t there be a compiler release (let’s say an RC1) before there’s even a new version of Prelude? I’m under the impression that’s actually a huge advantage of having a tiny stdlib. Wouldn’t giving early adopters the chance to try the compiler (and hopefully update some libaries in the process) be a good way to have fewer bugs at the time of an actual release? I guess it could require maintaining two main branches in the compiler but I’m not sure if that’s really that much more work than having PRs go stale and then having to rebase as is the case today.
Anyway, if updating the core libs is a must, I’d suggest that a few libs should not be in there in the first place (ace, vim, machines, …).
@hdgarrood
ES modules require a lot of care to ship because if we just try to get them out ASAP it’s certainly going to break loads of people’s workflows, which will certainly make lots of people very unhappy.
I still believe that not releasing them makes lots of people very unhappy too, which is the reason for this whole thread because it seems this unhappiness is more elusive since it tends to spread over time. And as I said above, I think some kind of alpha release might actually make those people happy and increase the the chances of fewer bugs in the final release for the more conservative users.
I am far from an expert on this, but it seems to me that this is working pretty well for other projects.
To be frank, as with almost all OSS, there is a lot of people just working on what interests them, and this likely isn’t going to change
That’s completely true and fair and I’m definitely in no position to “demand” anything here, and all the explanations (especially Jordan’s debrief) help me get a much better picture.
If you need ES modules right now, the only approach that I think makes sense is for you to build your own compiler based on that PR and start using it yourself.
That’s one extremely valuable piece of information right here, thank you. I’ve been actually doing that but I wanted to get an idea of whether there’s a more for-the-common-good alternative to this or whether maybe there’d be a release within the next couple of weeks.
@thomashoneyman
Last year, @milesfrain (who maintains the PureScript book, among other contributions), @JordanMartinez, and I started meeting most weeks to discuss how we – as non-core-team PureScript users, at the time – could contribute effectively.
This sounds really great, I (and I’m sure quite a few others) would very much like to participate in such meetings. I’ll hit you up after this, because I’d be happy to (co-)maintain a contrib library but the process isn’t clear to me.
The Contributors organization is a fantastic way to get more involved in maintaining and improving PureScript. I hope we can grow the organization as a place to make friends, make significant contributions to PureScript, and to learn via informal mentorship and guidance. We’ve laid a lot of the groundwork for this, but life (and a global pandemic) got in the way!
This is such a nice paragraph! Let’s get life and that pandemic out of the way!