Welcome to the Chapel Programming Language Discourse page

This is a place for users, developers, educators, and enthusiasts to discuss the Chapel parallel programming language. This is a good place to ask questions, propose ideas, or generally discuss the Chapel language. If you're not already familiar with Chapel, you can learn more at https://chapel-lang.org.


If you're new here, please take a moment to introduce yourself to the community (we enjoy having people say "hi") and acquaint yourself with the topic categories:

  • Announcements: This is where we'll post mentions of events like new releases, CHIUW, etc.
  • Users: This is where users of the Chapel language should post questions or hold discussions
  • Developers: This category is for developer discussion about Chapel's implementation
  • Social: This is a place for social discussions within the Chapel community
  • Notifications: Scripted notifications of events (new issues, commits, etc.) will appear here
  • Site Feedback: Give us your thoughts about improving the website here

By default, the following two categories are muted for new users by default in order to avoid having script-generated notifications overwhelm the new/latest topics lists:

  • Notifications.commits: A new post is generated here for each PR merged to Chapel's development branch, making this a good way to track how the code is changing.
  • Notifications.issues: A new post is generated here for each new GitHub issue posted to the Chapel repository, making this a good way to track bugs, feature requests, etc.

If you'd like to track and be notified of such topics, please surf to the sub-categories using the links above and un-mute them. (Note to core Chapel developers: we request you do this so that you can keep on top of what's happening with the project).

Formatting Chapel Code

When posting Chapel code in a message, you can enable syntax highlighting by using:

[your Chapel code here]

For example:

coforall loc in Locales do
  on loc do
    writeln("Hello from locale ", here.id);

Renders as:

coforall loc in Locales do
  on loc do
    writeln("Hello from locale ", here.id);

(other languages can be similarly formatted by naming them after the triple quotes, thanks to highlight.js). There are almost certainly improvements we could make to this highlighting support, which is hosted at GitHub - chapel-lang/highlightjs-chapel: highlight.js support for Chapel

Using Chapel Discourse like a Mailing List

If you'd like to use Discourse more like a mailing list and less like a web forum, we've had the most success by:

  1. going to your profile's settings:

  2. selecting "Emails" from the sidebar, checking the "Mailing List Mode" checkbox towards the bottom, and saving changes:

  3. muting any categories from which you do not want to receive mails (e.g., if you're not interested in developer-oriented conversations, mute the "Developers" category; if you only want to receive mails about announcements, mute everything other than the "Announcements" category).

In order to start a new topic within a given category by email, visit that category's "About" page to get the alias that can be used to send mail to it:

Why did my post by email get truncated?

When posting to Discourse by email, one thing to be aware of is that message history is trimmed out of emails by removing everything after an all-symbol line like ---- or ==== or =-=-=-, so if you're in the habit of using such markers in your email, you may find your message getting truncated by the website. One trick to work around this is to intermix some text into the line like ---- cut here ---- which will not be removed due to the alphanumeric characters.