I feel like haskell is dying

…and when they “share their experience and perception” for the 8th, 9th or 10th time, what should be our attitude then?

Hello Julian.

I am grateful for your work on open source Haskell projects. I know you put the effort that I am benefiting every day from and I do not take it for granted. I want you to understand that I am on your side as much as your words allow me to be.

But you have missed the meaning of my message and your words make it hard for me to be on your side now.

Please avoid bossing me (or anyone else) around. No one has given you any badges to police the discourse. You can make a humble, well-reasoned suggestion, if it is persuasive everyone will take it into account. You are not doing that.

What you are doing is putting «them» against «US». Who are these «WE» in the first place? Do I understand correctly that in your mind there are two kinds of people in the Haskell community — the ones that make productive suggestions and the ones that constantly rehearse old grievances?

Rationally speaking: if you think that shaming and alienating people is a good way to grow and strengthen the community, then I am curious why you think so. Otherwise, please explain how you align shaming and alienating people with the goal of growing and strengthening the community (which I assume you stand for).

In any case, I cannot be on your side because the means (shaming and alienating people) are not justified by the end (growing and strengthening the community). Are you sure you want to go this way?

Maybe I misunderstand your message altogether?

So, Haskell is a language and languages do not have goals. So we infer that by «Haskell» we mean something that can have goals. My idea was that the reader will infer «the Haskell community». Maybe this requires too long a stretch.

So, we can say that any goal jointly pursued by a significant number of people in the Haskell community is the goal of Haskell.

Incidentally, being a research bed of ideas is a goal of Haskell by this definition. But it is clearly not the only goal. For example, growing and strengthening is another goal. There are other goals, but you have to listen to people if you want to find out what they are. You have to make this effort.

For me, the goals are, say:

  • To have a beautiful general purpose language.
  • To have deeply learned people around whose work inspires me to learn things outside the common Computer Science curriculum.

It is my recollection that these said goals were shared by many in the Haskell community some time ago.

Please avoid bossing me (or anyone else) around. This is the second time I have to say this. I do not work as a maker of «productive arguments» for you, nor in any other capacity. We have a conversation, I am conversing with you. If you want a «productive argument» for some specific occasion, ask me for it in a friendly way.

I see you have your way of creating grievances.

Alright, so I infer that you believe that I ought to make some productive arguments about how we can grow better, and my not making any such arguments is the reason for your generally dismissing my message.

  • I have no idea what a productive argument is.
  • I do not see why I would have an obligation to serve one to you.

Maybe I am not reading between the lines the way you meant me to?

The situation with Cabal and Stack was more than a technical issue. You only see what you want to see: the technical issues, the nails you have the hammer to nail down. But this is not a software engineering problem. If you make a little effort to coöperate with me, you will easily see that.

Paraphrasing your words, coöperation is sometimes very very necessary. The intent to coöperate is what was lacking in the situation with Cabal and Stack, and it is what is lacking from your message to me. Clearly you have not learned the lesson.

This is an interesting vision. I hope you understand that nothing of what you say here is knowledge.

This is an interesting vision.

2 Likes

Have you tried asking the question «what did I fail to do that would have saved people from having this negative experience and perception»? We can talk about an appropriate response. I am not saying «react with respect and gratitude and do nothing». All I am saying is that you should cease your efforts to arbitrarily silence people.

I am in a hard situation these days and I have little free time, but if you ask for help making Haskell better I shall be there as much as I can. You can always talk to me privately.

1 Like

I have no problem with a issue being brought up once or twice (e.g. for clarification), but I do have a problem with it being brought up repetitiously at any opportunity. But if you consider my responses to seeing the “same old stuff” being brought back up over and over again as somehow being an “effort to arbitrarily silence people”…we’ll just have to leave this matter for someone wiser than both of us to solve - are there any counsellors here?

That’s an excellent question - let’s ask those who continually bring up old issues…

I am new to Haskell and will agree that a well organized on-boarding story/path makes a language/ecosystem much more attractive and when I don’t see it I often look elsewhere.

4 Likes

Perhaps this discussion did become too fraught after all. I’ve taken a lot of benefit from this thread; it is always helpful to hear a wide range of perspectives. But I shall now be bowing out and I wish those who remain a fruitful continued discussion.

5 Likes

I’m simply demanding productive arguments if you care for me to read your posts in the future. If not, then we can stop here.

Productive arguments are of the nature that they either:

  1. give new insight, or
  2. propose interesting actions

So far, I’m having trouble identifying these in your posts.

I have no idea what you are talking about.

Understandable. But those are points many people share and are already working towards. Actively. Yet you’re somehow giving the impression they’re doing something wrong, but still don’t articulate what it is precisely.

You seem to have missed a lot of the discussions that happened on the Haskell Foundation google groups, here on discourse about the unified installer proposal and elsewhere. We are totally aware of it and it was discussed in great detail.

Some of us have learned the lesson, but we don’t write long blog posts about it. So my feeling is that you’re again somewhat disconnected from the current state of affairs and what people are involved in. That’s fine, but if you’re making strong claims, I expect you to be informed.

So, you have a problem with an issue being brought up frequently. Let us start from there. There is any number of ways to solve this problem. I understand that you see one way (to censor whatever you rather not see). I say this is not a solution because you will only create an echo chamber. Maybe instead we can write an explanation of the issue, some sort of a report, and link to it every time someone brings it up?

1 Like

Yes, let us stop here.

…like what usually happens on issue/bug trackers:


Agreed.

So, since it is going so poorly, I am going to make a little recapitulation of my involvement in this conversation so far.

  1. I interfered to point out that Haskell is not thriving. The opposing argument, given by Tom and Andrew, is that the job market has grown. I point out that the growth of popularity (which is zero) is not proportional to the growth of the job market. This is suspicious, but no one is investigating. Since there is no growth, I argue that the word «thrive» is not suitable, and there are no further objections.

    This is an important line of research — if we can explain why the growth of popularity is not predicted by the growth of the job market, we shall have found a valuable model. Maybe we can then see if there is a way to have the popularity grow proportionally to the job market.

  2. I interfered to ask @atravers that they not attempt to create barriers for honest expression, which they were calling for. There has been overwhelming push back from @atravers and Julian. Their main argument is that the technical problems that led to the creation of Stack are now being solved, and therefore the voices rehashing this historical episode are not legitimate, not constructive and consequently not valuable. My main counter-argument is that the social problems that led to the creation of Stack have not been even acknowledged, and therefore the voices rehashing this historical episode are legitimate, constructive and consequently valuable.

    Unfortunately, my line of reasoning has not been received well. Eventually Julian dismissed me as unworthy and @atravers folded.

  3. I asked what drives Haskell. There has been no answer. I guess no one has understood the question. Some have taken Simon’s vision to be the vision driving Haskell, failing to recognize that the Haskell community is more than Simon’s compiler engineering circles.

Additionally, I reiterated several times that the issues raised in this conversation are not completely, not even primarily, technical. My understanding is that these issues are primarily social, and therefore the methodology of their solution is not the methodology of Software Engineering. This point has not been acknowledged by anyone.

I estimate from the likes that there is some support for the view of Julian and @atravers. This is astonishing to me. The community where silencing dissent and dismissing opposition are acceptable methods of conversation is not the community I can stand among. I have deep gratitude to the Haskell community, but not to this Haskell community. If this were Haskell, then Haskell would be dead for me.

Fortunately, I know that the situation is really better than this. I have no problem contributing to projects led by Tom and Andrew, as well as most other maintainers of Haskell libraries I had a chance to contribute to.

The problem seems to be that we do not have the culture of non-technical conversation required to effectively talk through some social issues.

If I have damaged anyone in the course of this conversation, please believe that it is unintentional. You can always talk to me privately and I shall do what I can to restore the damage.

1 Like

I apparently folded agreed to stop, since that we were
probably only ever going to keep disagreeing on this matter.

…hey, look at that - we still disagree! So congratulations, @kindaro - you can now claim this echo chamber undead thread for yourself. I, for one, will now leave you in peace on this topic, and if anyone else brings up those “non-techical/social issues” that keep reappearing with monotonous frequency, you can rest assured knowing that I will direct them here so that you can provide assistance to the best of your ability.

I am now refolding moving on…

To be pedantic: Julian offered me either to concede to his demands or stop. I did not want to escalate so I agreed to stop. So, this was an agreement between me and Julian. I never offered you to stop, so there was nothing for you to agree with.

I say that you have folded because you have expressed that there is nothing you will be adding to the conversation. If this is not a fair summary, please correct me. Furthermore, I offered several ways for the conversation to continue in a constructive way (consider writing an explanation of the issue, consider the issue as social, and more) that you have chosen not to pursue.

I do not see why you now have to splash vitriol in my face.

@kindaro , you`ve successfully killed this thread, by exhausting all other participants. It looks like you don’t understand that a public forum is not your private psychoanalysis session.

4 Likes

Well if that is how it is, then it was not my intention and I am sad that it turned out that way.

I had a conversation, for the most part with Julian and @atravers. We had a disagreement and I tried to deconstruct their arguments. I hardly even participated in the main stream of this conversation. If you want to put all the blame for the decline of activity in this thread on me, well I do not see how this is fair. It is hard for me to defend since you do not bring any specific charges.

I can only repeat that I shall take all possible steps to restore the damage that I might have inadvertently inflicted to any specific participant. I do not recall saying anything that might have warranted this backlash specifically from you, Marco, since I never even addressed you. But please make me aware if I have.

There are plenty of ways for the conversation to develop. But blaming one another is hardly one such way.

May I make the request that a mod just lock this thread? Everyone has said their piece, multiple times, and it’s clear what the opinions on this topic are; there is nothing left to be gained by more back-and-forth, even if it’s done civilly. And besides, everyone will get more chances to express themselves in other threads because all of these topics will continue to come up organically in other contexts.

7 Likes

We can have a meaningful discussion about legitimate issues, this isn’t crazytalk - it’s a little silly this went sideways so much, but demonstrates the struggle that we experience as a diverse and passionate community. Even if we are at times frustrated, it helps a lot if we’re able to persist and drive on towards mutual understanding. I think these types of topics come up because we’re not yet at that place of mutual understanding.

I’d like to reframe this idea of “haskell is dying”, and in particular, I’d like to point out that this is a personal experience. Haskell is not dying in the cut and dry sense of the expression, but to some of us, haskell is dying (or is already dead).

With that out of the way, I’d like to share a small bit of my perspective, drawing from my experience with this community and haskell in general.

Haskell is founded on strong principals. Those principals have also gotten us into challenges at times - when push has come to shove, when Haskell’s principals cornered us, Haskell didn’t back down, it didn’t take shortcuts, it pushed through the challenges to address them with amazing grace.

At the same time, and also due to those principals (particularly the type system), Haskell puts the ecosystem in a position where we are more dependent on one another. In other words, we are also more affected by changes in code from other parts of the ecosystem. So when some of us say “oh, you don’t have to care about those people experimenting with X”, Haskell users are smart enough to know that’s not actually an accurate enough statement - we are in a position of dependence and are affected by changes elsewhere in the ecosystem, and which we may or may not agree with, or which maybe we don’t care about, but it still ends of affecting us.


While I have been unable to find it again, there was a reddit comment about too much expressiveness that really resonated with me. This comment was about how unclear it is for us (production users), how to use haskell to do X.

For people using haskell in production, and particularly for those outside the startup/crypto space, we are busy trying to get shit done using haskell as a tool.

We use haskell because it’s a great tool, and we think it’ll provide us a better experience than other tools.

However, given Haskell’s complexity, and given the ecosystem’s situation of inter-connectedness noted above, we need clear and actionable guidance how to do things correctly in haskell.

Instead of more clear guidance, how to do X is becoming more and more unclear. Instead of addressing the social rifts and related problems within the ecosystem, we’re forging head in a technical headspace and making Haskell more difficult to onboard and start using in production.

In particular, there isn’t really anyone to advocate for us production users at GHCHQ/CLC/etc, and the issues we face are getting worse.

Worse yet, these issues have been systemic, present for more than a decade, and very talented people have already put their focus on these issues, done their best to be leaders in the ecosystem and to work with other leaders in the ecosystem, and they have left burned out or moved on to other things.

So yes, to some of us, Haskell is dying, or has already died.

By putting a spotlight on this, we’re able to discuss and learn from the history and find new ways to break the cycle so we don’t repeat it all again. If you are not willing to have a reasonable discussion about this, you can move on and do other things, you do not need to suppress or undermine this discussion (it’ll only keep coming back up, even if past voices have moved on, as we’ve already seen).

3 Likes

I’m under the impression that most GHC maintainers and developers are from industry. In particular, the top contributors work at Well-Typed, Tweag, IOG (formerly IOHK), and Galois.

Also, a majority of the GHC steering committee members are from some of those same companies and also Habito, Facebook, and Serokell.

Do the employees of those companies not represent production users?

5 Likes

CLC is actually short on academia and educational sides, its current composition is overwhelmingly of industrial users of Haskell. Please speak for yourself and do not imply that your views are shared by all professional haskellers.

3 Likes

I am speaking from my perspective and experience, which is that of an implementer using and bringing haskell to individuals and teams that are not currently using it, and would be using it for production use cases, supplementing and/or replacing other existing options built on python/php/ruby/golang/etc.

2 Likes