Purescript "official" chat

I think having an OSS platform is great, but I also really like Discord because it’s so easy to jump into voice chat/screen sharing.

2 Likes

I personally like Discord because it’s fun. I dislike the UI and UX of the OSS solutions.

4 Likes

I quit the slack a while ago. Zulip is just so much better and open source (but to be clear not much PS chat happens there unfortunately). I personally find srid to have problematic views, but I also think it’s important to be exposed to people outside of your echo chamber. I have yet to see him exert power inappropriately nor have I felt like I’ve been forced into conversations I didn’t want to have. That being said, if it would stop people from joining, my vote would be to make a PureScript Zulip. If you’re not very familiar with Zulip and why it’s awesome, they do a great job selling themselves:
https://zulip.com/why-zulip/
Also very much worth noting that they give free standard plans to open source communities, so we would get unlimited history!

1 Like

FWIW +1 for the mention(s) above about IRC, people can choose their own clients. I have always disliked all these “commercial IRC” applications where a vendor gets your history and holds it hostage. I understand this is not a trendy nor popular suggestion.

Also be wary of “free ABC feature for XYZ users”, those deals can change or be rescinded over time, especially if the provider of such service is bought out and taken over.

3 Likes

I don’t care about the political stuff, but I asked a friend that used Zulip in his team in the past to give me feedback on it. Maybe it’s instructive for some of you:

It’s very different. It has a lot of things which I love and which are what I would design myself in a chat app:

  • input box is large by default and enter doesn’t send (invites large, thoughtful texts rather than flurries)

  • notifications are off by default, you receive 0 notifications

These make the app much more work-friendly, lowers disruption. It’s a bit like Discourse in that sense, almost a forum software with real-time updates

Other things are, for me, neither here nor there, but interesting nonetheless:

  • there are two levels of tags, main tags and sub-tags. Any text is tagged with a tag. Those act as “channels” of sorts. Imagine if in Discord, clicking on a category would show all the the text from each channel under the category.
  • there aren’t many integrations, but there’s a regex engine that allows for custom behavior. So you can have a hook that captures any #id and links issues from some repo on github for example.

Why we stopped using it:

  • the tags thing sounds good on paper, but ended up being a bit useless in practice. It doesn’t replace threads, but also makes things more confusing (people often send in a top category when they mean to send in a lower category). It would be more useful if you could nest infinitely, but you can’t
  • the UI is good and original, and it definitely has it’s own style, but it is sort of confusing. The shortcuts are also non traditional.

Programmers mostly liked it, but not all. Designers and other people hated it.

I personally love it on paper, but in usage it was really annoying

And later he advises in favor of Matrix or Rocket Chat (it’s the first time I heard of this one).

2 Likes

@ajbarber I agree with you. I am familiar with IRC, as I am already an active member of multiple IRC channels, and although it has its disadvantages, I believe that it is a good option, although I am already aware that as you said, “this is not a trendy nor popular suggestion.”

As Zulip is free software, PureScript infrastructure maintainers should be able to host it themselves, although I understand that this might not be preferable as it might consume more resources than they would like it to.

I like Discourse much better than Slack, but the complaint you mentioned is my primary issue with it, although probably not everybody shares my perspective.

3 Likes

IRC was the primary real-time chat channel until about 2016, if I remember rightly. I preferred IRC to Slack, partially because Slack is not open source, and I stubbornly remained in the IRC channel for quite a long time even after it was clear that the community was voting with their feet (for Slack). I sympathise with the reasons for preferring IRC but I don’t think it is realistic, based on previous experience.

FWIW I am sure we could manage self-hosting Zulip if need be. We already self-host Discourse, and of course we have to arrange hosting for Pursuit and Try PureScript too.

4 Likes

As it happens, for me, the ease of jumping into voice/video chat is actually a downside. I don’t really want it to be normal for people to just jump into voice or video chat, because if I’ve only just met you I don’t want to do that, and I would rather people not ask in the first place so that I don’t have to tell them “no”.

4 Likes

This seems entirely reasonable, but i think it also might be that “ease of striking up conversations” is a win for beginners / enthusiasts / community (maybe) and a downside for core maintainers.

I don’t have any solution to that tho, except that maybe if some candidate platform makes it easy to opt out of this that that would be a plus?

1 Like

My +2 satang would be for a FOSS option as well (with bring-your-own-client being a nice to have). If Discord was chosen, I would not use it. I’ve stopped joining the Slack because I’m ‘done’ with it as well from a privacy standpoint. I don’t think these closed platforms are inclusive since they require an account for centralized, proprietary system which heightens the barrier to entry, plus we don’t know if we own our data.

Throwing out another idea (not an endorsement) that I just saw fly through my Mastodon feed was Software Freedom Conservancy choosing XMPP. TL;DR: “We evaluated and tested a multitude of options: XMPP, Matrix, RocketChat, Mattermost, Zulip, ircv3, etc and permutations of bridging support” and they chose XMPP because it was open, feature-rich, and the bridge to Matrix & IRC was good while not requiring Matrix (and also having previous experience running servers).

I believe XMPP servers, while can handle a massive amount connected clients, requires more system resources. But XMPP can do a number of other things, like hosting decentralized, federated communication & social networks 🤷‍.

(I actually really like Discourse BTW; it’s like a mailing list where I can make edits)

2 Likes

Are there any sources to back this up? I imagine that this would differ from implementation to another (I know of Prosody and Ejabberd), but nevertheless I’m curious about benchmarks.

Uh, I mean I was reading about it recently, but I’ve never ran a XMPP server. This was the TL;DR I remember when reading about why one would choose to set up an IRC vs XMPP server. A web search of your own would probably yield the same results as mine did :sweat_smile:

@toastal I see what you mean now, and while the point may technically be true (I haven’t checked, so let’s assume it is), if we were to choose IRC, I don’t think we would set up our own server for it, but we would probably create a channel in an already existing network instead.

And therein lies the advantage of open source and decentralizing, because if the PureScript community didn’t like the existing server, the org always has the ability to self-host and/or fork. If Discord changed its ToS and said we’d be required to now upload our address books, we’d be SoL. Same with hate-speech being allowed, etc. (as others have mentioned in their posts as well :slight_smile:)

Yes let’s get off Slack FP.

  1. It’s tragic that all of the information in Harry’s thoughtful answers is disappearing into the un-Googleable Slack history.
  2. This guy who runs Slack FP is clearly a right-wing Groyper. https://functionalprogramming.slack.com/archives/C0432GV99/p1623112652279800?thread_ts=1622830574.080600&cid=C0432GV99
2 Likes

Disappointingly to some of us, it seems the general community has agreed to shift from Slack to Discord recently (as can now be seen on the official org website) which kind of closes this thread.


I did however just catch this though in the Haskell community:

Welcome to haskell.social, a constellation of haskell-adjacent, social fediverse nodes.

With PureScript being Haskell-adjacent, the admin maybe would be welcoming of the PureScript community – especially being fresh and not having many users 🤷‍ (though the domain name is clearly “haskell”). At any rate, it could be a project worth watching to see if the uptake, moderation, and maintenance of various federated services (Pleroma (microblogging) and Matrix (chat)) isn’t too bad for self-hosting.

1 Like

For those like me who have no plans of joining the Discord server, there is an IRC channel on libera.chat (#purescript), and there’s also a Matrix room (#purescript:matrix.org), although unfortunately, neither sees much activity. I have also suggested the two to be bridged, but I haven’t got a reply from the Matrix room’s admin yet.

@toastal that sounds like a pretty cool idea. Like you said, for now, we should probably watch the project’s development for a while.

2 Likes

Since it hasn’t been mentioned yet in this thread, below is the post that says we’re moving from Slack to Discord. I’m adding this here in case others aren’t getting notified about the other post:

https://discourse.purescript.org/t/migrating-to-discord/2493/2

Hopefully we’ll get a Zulip as well.

1 Like

Hi Everyone,

I am completely new to Purescript and need help ! I do have basic understanding of Haskell but when I began with purescript rather I have been facing difficulty in setup.
Below are the versions I installed after continuous troubleshooting but still cannot import Data.Array, Data.List modules when compiling from VS editor or repl. Would request any help if possible as I need to practice for an upcoming Interview.

PS C:\Users\DialenDsouza\pureproject> spago --version
0.21.0
PS C:\Users\DialenDsouza\pureproject> node -v
v16.13.0
PS C:\Users\DialenDsouza\pureproject> npm -v
8.1.0

Error found:
in module $PSCI
at :0:0 - 0:0 (line 0, column 0 - line 0, column 0)

Unknown module Data.Array

See documentation/errors/UnknownName.md at master · purescript/documentation · GitHub for more information,
or to contribute content related to this error.