Perry E. Metzger via llvm-dev
2017-May-06 18:31 UTC
[llvm-dev] Email list just for front end developers?
Pardon the length of this reply, but it seemed useful to be explicit about my concerns. On Sun, 7 May 2017 00:55:51 +0800 C Bergstrom <cbergstrom at pathscale.com> wrote:> You don't seem to be listening, but one last try.I listened. I respectfully disagree.> If you have a FE related question - Ask on cfe-dev and if you don't > get a response I'd be surprised.I would not be surprised. I'll be straightforward. It is very hard to get answers to questions on any of the lists about simple front end stuff, especially stupid newbie questions. It is also hard to get answers to simple questions in the IRC chat room. (I've tried, believe me.) I can understand why. It isn't anyone's fault, and it isn't unexpected. These questions aren't very interesting to people who are deeply involved in the Clang infrastructure or the LLVM optimization infrastructure, they're probably quite repetitive, and I'm sure that sometimes they're annoying because they're so obvious and basic to people who live and breathe LLVM. That's entirely understandable. However, there are many people out there, maybe even a lot more than are developing Clang in fact (though it is hard to know), who are developers using LLVM for other languages. Yes, I agree there are more _users_ of Clang than there are of Rust and Julia and Rubymotion and Crystal and Clasp and the dozens of others out there. After all, Clang is Apple's compiler, so there are huge numbers of users of Clang. However, in terms of people _developing_ other front ends, I get the impression there are a very large number of us, because, frankly, right now LLVM is the most rational choice for any compiler developer, and the world has a lot of compilers under development. (Indeed, it has more than it used to partially because LLVM exists.) It makes sense to have a place for us to talk to each other where we're the dominant traffic, where our questions for each other aren't concealed amidst a very large amount of traffic on Clang's internals (or the rest of LLVM's), and where and our questions unrelated to local concerns are not viewed as an annoyance. Again, I suspect front end developers will generally be more sympathetic to each other's problems and questions than people who are worried much more about Clang's internals or the backend internals.> Additionally, if you don't get a responseIt isn't a question of "a" response. I myself have a new question almost every day. After one sees what happens when people ask questions, one gets intimidated and does not wish to continue. Here's an example. This post about a month ago from someone having a great deal of trouble with very basic things got not a single answer in response: http://lists.llvm.org/pipermail/llvm-dev/2017-March/111526.html I think that gentleman's situation is very typical. I've had questions almost identical to his, too. I've been reduced to reading source code instead of documentation, painfully, and making very slow progress because of it. Again, I don't blame anyone for this state of affairs. LLVM is open source software, and no one has any duty to answer my questions, write documentation for me, etc. I cannot reasonably ask that people who are working hard on a new processor back end or new optimizations or what have you take time out to help me. It isn't their job. I would just like a place that makes self help among other people in my position and that of the gentleman whose query I link to above more likely to succeed.> from there maybe then follow-up with your idea of another list.I understand that it may be too much trouble to ask the LLVM project to set up another mailman mailing list. If that is the case, given that I have my own mailman setup, perhaps I'll just create the list on my own machine and advertise it, and perhaps create a Wiki. It would be unofficial so fewer people would find it, which might doom it, but as I've indicated, I would like to have such a thing, and I suspect others would, too, so perhaps that's the route to take. I don't want to bother people associated with the project overly much, as frankly I'd prefer that all of you spend your time making LLVM even better, and if the project doesn't want to create such a list I won't push, I'll just do it on my own if it continues to seem important to me.> What you're describing would be extremely low trafficI very, very much doubt that will be the case. I understand that this isn't obvious to those who are very familiar with the way LLVM works, but again, it is challenging getting started with LLVM once one is past the tutorial. One has endless questions about details the tutorial doesn't cover, and the documentation sadly doesn't help with them. Even when one is past that stage, one keeps encountering issues one would like to ask about. There are also a lot of people out there working on LLVM based front end projects, far more even than LLVM web site indicates. There are also whole classes of undergrads using LLVM in compiler courses and I suspect they have questions too. And, once again, most of us learn very quickly that simple newbie questions generally don't get answered by busy people who have other interests. (And again, this is understandable.) That's fine, I understand why it is the case. I don't want to bother others who have other concerns. I just want a place to ask questions. If such a list existed, I would be able to contribute quite constructively -- I've learned the answers to many of my own questions "the hard way" by having to read the sources, and I could help others to avoid having to do the same thing with things I understand. I would also probably feel less put off asking simple questions on such a list. I bet one of the developers of Rust or the JavaScript JIT or the Common Lisp front end or Crystal or Julia or any of the literally dozens of others would probably be happy to answer my questions, having had the same steep learning curve themselves.> and I personally doubt you'd get as much expertise interested in > order to keep it viable.Then it will fail. That's a risk with any new mailing list. Luckily, the cost of mailing lists is very low, so the only risk is that the list gets no traffic. If that happens, well, so be it. Perry -- Perry E. Metzger perry at piermont.com
Sanjoy Das via llvm-dev
2017-May-06 19:06 UTC
[llvm-dev] Email list just for front end developers?
Hi, On Sat, May 6, 2017 at 11:31 AM, Perry E. Metzger via llvm-dev <llvm-dev at lists.llvm.org> wrote:> It makes sense to have a place for us to talk to each other where > we're the dominant traffic, where our questions for each other aren't > concealed amidst a very large amount of traffic on Clang's internals > (or the rest of LLVM's), and where and our questions unrelated to local > concerns are not viewed as an annoyance.Why not just filter traffic on llvm-dev with "emails that haven't been replied to within a week"? Right now llvm-dev is, say, ~220 emails a week, so after that filter you should a small enough set of threads left which you can manually inspect. I don't think people will be annoyed by frontend specific questions on llvm-dev unless there is a very high number of them (unlikely), at which point we can //maybe// consider splitting out a new mailing list (but see below).> I would just like a place that makes self help among other people in > my position and that of the gentleman whose query I link to above more > likely to succeed.I agree that we do not do the best possible job in answering beginner questions, but is there something preventing you from changing that trend on llvm-dev, and making llvm-dev be that place where beginner questions are reliably answered?>> and I personally doubt you'd get as much expertise interested in >> order to keep it viable. > > Then it will fail. That's a risk with any new mailing list. Luckily, > the cost of mailing lists is very low, so the only risk is that the > list gets no traffic. If that happens, well, so be it.There are other risks too - fragmentation (I have to sign up for yet another mailing list), discoverability (at this point many people already know about llvm-dev, how do they find out about the llvm-frontend-dev?). -- Sanjoy
Perry E. Metzger via llvm-dev
2017-May-06 20:15 UTC
[llvm-dev] Email list just for front end developers?
On Sat, 6 May 2017 12:06:03 -0700 Sanjoy Das <sanjoy at playingwithpointers.com> wrote:> Hi, > > On Sat, May 6, 2017 at 11:31 AM, Perry E. Metzger via llvm-dev > <llvm-dev at lists.llvm.org> wrote: > > It makes sense to have a place for us to talk to each other where > > we're the dominant traffic, where our questions for each other > > aren't concealed amidst a very large amount of traffic on Clang's > > internals (or the rest of LLVM's), and where and our questions > > unrelated to local concerns are not viewed as an annoyance. > > Why not just filter traffic on llvm-dev with "emails that haven't > been replied to within a week"? Right now llvm-dev is, say, ~220 > emails a week, so after that filter you should a small enough set > of threads left which you can manually inspect.I'm not sure that will work well, because people won't usually wait a week to get their questions before moving on. If you're actively working full time on a project, you probably want answers in much less time. Usually a question is inspired because you're trying to do something immediately (say, in my own case, when I was working on real constants and realized I couldn't find much documentation for what formats APFloat understands when you pass the constructor a string), and laying tools down for that long isn't an option. If no one answers in less than a day, you probably have to go and slog through the implementation on your own, which is of course sub-optimal.> I don't think people will be annoyed by frontend specific questions > on llvm-dev unless there is a very high number of them (unlikely), > at which point we can //maybe// consider splitting out a new > mailing list (but see below).I doubt that there ever would be a lot of them as it stands, because I think people find that they don't get answered and that they feel weird about asking more questions of the same form. After a while a culture gets entrenched. Note that it isn't even something weird or inexplicable, I understand why this sort of thing happens. llvm-dev serves a vital need already, which is letting the llvm developers communicate with each other on technical matters. Unusual traffic that isn't really any one person's area gets less mental space. So you get a dual problem either here or on the cfe lists, which is that the normal traffic isn't traffic you understand (or care about) and that the traffic that you are interested in isn't of much interest to the overwhelming bulk of the list.> > I would just like a place that makes self help among other people > > in my position and that of the gentleman whose query I link to > > above more likely to succeed. > > I agree that we do not do the best possible job in answering > beginner questions, but is there something preventing you from > changing that trend on llvm-dev, and making llvm-dev be that place > where beginner questions are reliably answered?Well, partially, I think, that it is hard to change a culture, partially that llvm-dev isn't geared towards it (I myself don't understand much of the traffic since I don't know anything past IRBuilder well and am unlikely to dive into that soon, partially because LLVM does such a good job at separating concerns that I don't _have_ to understand the middle and back end work.) However, if people think that just making a more determined effort to answer newbie questions here is the best way to go, we can try, and I'll certainly help, since I've been learning what many of them are the hard way. Again, though, I didn't even notice that message I posted asking for help until long after that guy probably didn't care any more. It probably remains hard answer such questions in an environment where there's an impedance mismatch between the topics. As I noted, most of the traffic here isn't even about stuff I understand well, I'm here (and on the Clang lists) only because they're the closest thing to what I actually _do_ need. And again, the impedance mismatch is unlikely to be malice against newcomers or any such thing. I think it's because, de facto, this is where people discuss middle and back end development, and it is the only good channel for that, and there's apparently a lot of that to discuss.> >> and I personally doubt you'd get as much expertise interested in > >> order to keep it viable. > > > > Then it will fail. That's a risk with any new mailing list. > > Luckily, the cost of mailing lists is very low, so the only risk > > is that the list gets no traffic. If that happens, well, so be > > it. > > There are other risks too - fragmentation (I have to sign up for yet > another mailing list), discoverability (at this point many people > already know about llvm-dev, how do they find out about the > llvm-frontend-dev?).Fragmentation is a real problem, especially since the people who are often best equipped to answer the questions are people working on the middle and back end. That could absolutely make this fail hard. However, as it stands, such people often don't have much time to answer anyway, or so it seems. To be sure, though, such an experiment is most likely to fail for that reason. I'm less worried about discoverability. One good post to the announcements list and bit on LLVM weekly, and having it documented in the normal places (lists.llvm.org, the various resources web pages) should be enough. And, if it fails, one can always turn it off, merge it back in, and try something else. The cost is low. But again, that said, if people really think that this is the right place for such things and not a new list, that can probably be given a good faith effort. My perception was that it probably wouldn't work well because this list is de facto for something else, but I'm willing to try if that's a strong consensus. *That* said, I still think a Wiki would also be nice. When one finds a hard-fought answer to a question, putting that answer somewhere beats having the information only in people's heads. Yes, for sure, the "right thing" is to submit a documentation patch, but there's a high barrier involved for an outsider to do that, and putting the information somewhere is better than having it nowhere. The only real problem with a Wiki is it requires policing, they acquire spam at a prodigious rate. Perry -- Perry E. Metzger perry at piermont.com