aboutsummaryrefslogtreecommitdiff
path: root/docs/community/forums.html
blob: ae89773b545fe751a8f7a8437d9ec9ff5e5aeb60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<head>
  <link href="../favicon.ico" rel="shortcut icon" type="image/x-icon"/>
  <link href="../style.css" rel="stylesheet"/>
  <title>BQN chat forums</title>
</head>
<div class="nav">(<a href="https://github.com/mlochbaum/BQN">github</a>) / <a href="../index.html">BQN</a> / <a href="index.html">community</a></div>
<h1 id="bqn-chat-forums"><a class="header" href="#bqn-chat-forums">BQN chat forums</a></h1>
<table>
<thead>
<tr>
<th></th>
<th>Discord</th>
<th>Matrix</th>
<th>…in Element</th>
</tr>
</thead>
<tbody>
<tr>
<td>All rooms</td>
<td><a href="https://discord.gg/SDTW36EhWF"><strong>Invite</strong></a></td>
<td>#array:matrix.org</td>
<td><a href="https://app.element.io/#/room/%23array:matrix.org">Space</a></td>
</tr>
<tr>
<td>BQN room</td>
<td></td>
<td>#bqn:matrix.org</td>
<td><a href="https://app.element.io/#/room/%23bqn:matrix.org"><strong>Room</strong></a></td>
</tr>
</tbody>
</table>
<p>The BQN forum consists of a <a href="https://matrix.org/">Matrix</a> channel, and one room in a <a href="https://en.wikipedia.org/wiki/Discord_(software)">Discord</a> server, that are bridged together. Neither is primary and there are many users on each, and a few that use both. The Discord server contains rooms for array programming in general and for other languages such as APL, J, and k, and these are individually bridged to other Matrix channels.</p>
<h4 id="matrix"><a class="header" href="#matrix">Matrix</a></h4>
<p>To avoid having to hunt down all these channels they're gathered into the Matrix space linked above. While Element supports spaces, many other clients don't. But as there's nothing special about the channels, once you join one in Element you'll be able to use it from any other Matrix client as well.</p>
<p>Being an open protocol, Matrix allows third-party clients (Element is first-party, created by the protocol's designers), and there are many available. Most are lacking in features or otherwise difficult to use. For a desktop client, <a href="https://github.com/Nheko-Reborn/nheko">Nheko</a> seems to be the best chance of a good experience, and <a href="https://fluffychat.im/">FluffyChat</a> should also be usable, although it's more mobile-focused.</p>
<h4 id="bqnbot"><a class="header" href="#bqnbot">BQNBot</a></h4>
<p>BQNBot will run your code from chat! Begin your message with <code><span class='Value'>bqn</span><span class='Paren'>)</span></code> and our friend (designation B-QN) will evaluate the rest and show the output. In all cases <code><span class='Value'>bqn</span><span class='Paren'>)</span></code> has to be at the very start of the message, so start a new one if you say something before it. While putting your code in blocks <code><span class='Modifier'>`</span><span class='Value'>like</span> <span class='Value'>this</span><span class='Modifier'>`</span></code> is easier to read, the bot just operates on plain text and doesn't require it. For longer blocks, you can start a new line after <code><span class='Value'>bqn</span><span class='Paren'>)</span></code>, and use a multi-line code block, as shown below.</p>
<pre><span class='Value'>bqn</span><span class='Paren'>)</span>
<span class='Modifier'>```</span>
<span class='Value'>some</span><span class='Gets'></span><span class='Value'>code</span><span class='Gets'></span><span class='Function'></span><span class='Number'>10</span>  <span class='Comment'># Comment
</span><span class='Value'>code</span><span class='Function'>+</span><span class='Value'>some</span>
<span class='Modifier'>```</span>
</pre>