Skip to content

Latest commit

 

History

History
173 lines (136 loc) · 9.73 KB

discord.md

File metadata and controls

173 lines (136 loc) · 9.73 KB
permalink
/discord

This page is a rules & information reference for members of the r/PLs Discord. If you're finding this page from the web and would like to check it out, click this link to join.

Feel free to check out the rest of the community as well.

Rules

We are a community dedicated to furthering programming language design and implementation. We value constructive, healthy, inclusive discussions and ask that you abide by the following rules to help us keep this space friendly and welcoming:

  1. Keep our community safe. To ensure that this remains a safe and inclusive space for everyone to participate, we will not tolerate:

    • Harassment, including insults, threats, rudeness, doxing, trolling, personal attacks, discrimination and sexualized attention.
    • Adult content, including NSFW/NSFL or content with sexual undertones.
  2. Keep the focus on programming languages. To avoid disrupting or blocking discussion:

    • Avoid extensive off-topic chat: If you find yourself going far off-topic, bring it back to programming languages.
    • Avoid noise: Don't shitpost, spam, or post unwanted promotional material. You are allowed to link other Discord servers if it makes sense in the discussion. Relevant job postings should be posted on the careers channel.
  3. Keep our community kind: There are a lot of people here with a wide range of backgrounds and levels of experience.

    • Support others: If you would like to share your experience, do so supportively.
    • Avoid:
      • Insulting
      • Harassing
      • Trolling
      • Flaming
      • Bad taste jokes
      • Language bashing
      • Zealotry
    • Be nuanced: tradeoffs exist in language design! Express your opinions without minimizing others' opinions, and avoid framing your own opinions and preferences as fact, for example by saying “X is the best“, “Y is terrible” or “X is better than Y” without explaining why you think this.
    • Avoid:
      • Pushing opinions as facts
      • Being overly forceful with opinions

Contact options

Please reach out if you feel hurt, attacked, offended, or witness something that could reasonably be considered offensive in the server. The mods would rather be notified too often than not often enough. We'd also love to hear your thoughts, suggestions, and feedback!

  • Publicly: ping the @Mod in chat.
  • Privately: send a direct message to @ModMail, or message a moderator directly.

Enforcement

Moderators have ultimate discretion over interpretation of events and interpretation and enforcement of the rules on a case-by-case nature. Not knowing the rules is not an excuse, and attempts to work around these rules through pushing boundaries runs the risk of a permanent ban.

The Members List

  • 💚 People with green names are moderators. You can contact us by pinging @Mods or DMing @ModMail, or if it's less urgent, sending a message to #meta.
  • 🧡 People with orange names are language developers, who have a channel for their language in the "Projects" section. You can see what languages they're working on by right clicking on their name and seeing their purple @lang: LanguageName role. Feel free to ask them about their language in their channel!

Channel Overview

Info

  • #rules: The server rules.
  • #info: A quick guide to the server.
  • #announcements: Official server announcements.

General

  • #arrivals: See & greet new users. Feel free to introduce yourself!
  • #meta: Metadiscussion about the Discord, /r/ProgrammingLanguages, the website (source), and this wiki (source)
  • #hey-look: The place to show off your achievements, or announce live-streams, blog posts, et cetera. Discussions should be moved to another channel.
  • #programming: discuss programming and programming projects not related to programming languages themselves.
  • #careers: Employment & career discussion, including open positions or "I'm looking for" mainly in programming language development.
  • #off-topic: Semi-serious (i.e. no shitposting or dog pics) off-topic discussions unrelated to programming (except for topics forbidden by the rules, such as politics, religion, or philosophy).

PLT&D

This is the main section of our Discord, for discussing programming language theory and design. You'll find channels devoted to every step of developing a programming language here, and a #pltd-general plt&d chat. Feel free to ask there if you don't think any of the other channels will fit your topic better.

#beginners and #beginners-theory are intended to be the place to go for folks new to PLT&D or related theory respectively. The moderators are going to be extra strict on moderation there - it's supposed to be a welcoming place where someone without proglangs knowledge can ask how to get started and get help with their proglang journey, and being unwelcoming there is... unwelcome.

Voice Channels

Go here to have an audio chat with other people! If you can't talk, or want to share a link relevant to what you're discussing, #voice-text is there as a supplemental text chat for the voice channels.

It's also possible to share your screen in those channels, if you'd like to stream your development.

Project Channels

Members of our community may get a channel for their project in the Projects category.

How can I get a channel for my project?

You can get a channel for a project if:

  • It is under active development
  • It is related to programming languages (although not necessarily a programming language itself)
  • You are a member of the project's team
  • You are an active member of the community and expect to regularly discuss your language with other users.

Before you get a channel, I would recommend that:

  • You have some sort of documentation to help explain your project to other users.

When you are ready to get your channel, just go ahead and ping the @Mods in #meta. We will create your channel and give you a role for your project, and the @Language Developers role if your project is a programming language.

What can I do with my channel?

You are given full moderator permissions over your channel, including the ability to:

  • Change the channel's topic
  • Pin or delete messages
  • Create webhooks
  • Give other users these permissions

You may also ask the @Mods to give other project members your project's role.

It is your channel and you can do what you like with it as long as you abide by the server rules.

If your project has its own Discord server, you may link to it, but you should not create a channel if you only intend to use it to direct people to your server.

Git webhooks

You have permission in your channel to configure a webhook to recieve GitHub and GitLab notifications in your channel. Here's a gist that describes how to do it.

The purpose of the webhook is get server members involved in the discussion of your project. To reduce noise, you must not enable star, fork, or commit notifications, because those sorts of messages produce lots of noise while rarely leading to discussion.

I would recommend no more than these hooks:

  • Published releases
  • Published packages
  • Issues and issue comments
  • Pull requests, pull request comments, and pull request reviews
  • Changes to the project's collaborators

Including your project on the website

If your project is reasonably mature and has a good landing page (e.g. a website or detailed README), I encourage you to go ahead and showcase your work on the website's projects list!

You may simply open up a pull request to do this. The Discord moderators do not need to be involved.

Project emoji

If you include your project's square icon in PNG or SVG format with a colored or transparent background, we will add it as an emoji.

Project bots

If you make a Discord bot, like an interpreter for your language, we will add it to your channel, although you will have to find somewhere to host it yourself. I highly encourage you to do this because language bots are awesome and we need more of them.

Currently our server has bots for #aardvark, #calc=, and #volpe.

Inactive project channels

  1. After three months of inactivity, channels are automatically moved to the "Inactive Projects" category.
  2. After three months in the inactive projects category, moderators will attempt to contact the owner of the channel.
  3. If the channel's owner does not request for the channel's life to be extended (e.g. for when the developer needs to be on hiatus for more than 6 months), the channel's contents will be downloaded as a text file (not including e.g. file attachments), and that file will then be uploaded to #archive.

You may remove your project from the "Inactive Projects" category at any time by sending a message to the channel. If you are planning on going on a (temporary) hiatus, you may voluntarily put your channel into the "Inactive Projects" category using the !archive command. If you are planning on quitting your project permanently, please notify a moderator so that we may archive your channel. Finally, as you have full permissions over your channel, you may delete your channel (without backup!) at any time.

Thanks to Timon Passlick for the bot which automates the inactive projects list.