diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-09-14 16:33:10 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-09-14 16:33:10 -0400 |
| commit | c1ec8006fd1a637e7a647f06460d23c2b3e8e12b (patch) | |
| tree | 76bea10b1cbd66f1856445e886f09e2c673a0e2a | |
| parent | f421346fa5a41fba61cd95dfb57fd4764b495f2d (diff) | |
Add standalone forums page
| -rw-r--r-- | README.md | 11 | ||||
| -rw-r--r-- | community/README.md | 6 | ||||
| -rw-r--r-- | community/forums.md | 26 | ||||
| -rw-r--r-- | docs/community/forums.html | 43 | ||||
| -rw-r--r-- | docs/community/index.html | 5 | ||||
| -rw-r--r-- | docs/index.html | 30 |
6 files changed, 111 insertions, 10 deletions
@@ -80,11 +80,16 @@ A useful tool for both beginners and experienced users is [**BQNcrate**](https:/ ## Where can I find BQN users? -There's a BQN [Matrix](https://matrix.org/) channel at #bqn:matrix.org, which you can see in the Element web client with [this link](https://app.element.io/#/room/%23bqn:matrix.org), and one on Discord that you can join with [this invite](https://discord.gg/SDTW36EhWF). The two channels are bridged so that comments in one appear in both. The Discord server has other array programming channels as well, with the corresponding Matrix channels gathered in [this space](https://app.element.io/#/room/%23array:matrix.org) (link uses Element's spaces beta). BQN and the other channels are very active: you wouldn't believe how many people are here to discuss arrays all day! +Chat forum links below; either of the bold ones will open in a browser without much hassle if you just want to get on quickly. Further forum details [here](community/forums.md). -BQNBot will run your code from chat! Begin your message with `bqn)` and our friend (designation B-QN) will evaluate the rest and show the output. While putting your code in blocks `` `like this` `` is easier to read, the bot just operates on plain text and doesn't require it. +| | Discord | Matrix | …in Element | +|-----------|---------------------------------------------|-------------------|-------------| +| All rooms | [**Invite**](https://discord.gg/SDTW36EhWF) | #array:matrix.org | [Space](https://app.element.io/#/room/%23array:matrix.org) +| BQN room | | #bqn:matrix.org | [**Room**](https://app.element.io/#/room/%23bqn:matrix.org) -In addition to these forums, you can contact me personally via Github issues or with the email address shown in my Github profile. +[Discord](https://en.wikipedia.org/wiki/Discord_(software)) is a popular commercial chat client and Element is a similar UI for the open chat protocol [Matrix](https://matrix.org/). They're bridged together so that messages in one appear in the other. Most discussion happens on these (they're quite active), but see also the [community](community/README.md) page for activities and such in other places. + +Also feel free to contact me personally via Github issues or with the email address shown in my Github profile. ## Can I help out? diff --git a/community/README.md b/community/README.md index c3bdc618..71ee32b0 100644 --- a/community/README.md +++ b/community/README.md @@ -2,12 +2,14 @@ # BQN community links -Yes, BQN has users! Forums where we discuss things are linked [on the main page](../README.md#where-can-i-find-bqn-users), and there are a few projects elsewhere as well. +Yes, BQN has users! This page gathers links to work by the community. To get in touch, please use our [chat forums](forums.md). + +For code repositories using BQN, see: * Github repositories [tagged BQN](https://github.com/topics/bqn) * [bqn-rest](https://codeberg.org/ndrogers/bqn-rest), for web APIs -You can also see BQN submissions on some sites that encourage shorter-form programming with the links below: +And the links below point to BQN submissions on some sites that encourage shorter-form programming. * [Rosetta Code](https://rosettacode.org/wiki/Category:BQN) (consider translating [APL versions](https://rosettacode.org/wiki/Category:APL)?) * Stack Exchange [Code Golf & Coding Challenges](https://codegolf.stackexchange.com/search?tab=newest&q=BQN) diff --git a/community/forums.md b/community/forums.md new file mode 100644 index 00000000..5b6fa179 --- /dev/null +++ b/community/forums.md @@ -0,0 +1,26 @@ +*View this file with results and syntax highlighting [here](https://mlochbaum.github.io/BQN/community/forums.html).* + +# BQN chat forums + +| | Discord | Matrix | …in Element | +|-----------|---------------------------------------------|-------------------|-------------| +| All rooms | [**Invite**](https://discord.gg/SDTW36EhWF) | #array:matrix.org | [Space](https://app.element.io/#/room/%23array:matrix.org) +| BQN room | | #bqn:matrix.org | [**Room**](https://app.element.io/#/room/%23bqn:matrix.org) + +The BQN forum consists of a [Matrix](https://matrix.org/) channel, and one room in a [Discord](https://en.wikipedia.org/wiki/Discord_(software)) 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. + +#### Matrix + +To avoid having to hunt down all these channels they're gathered into the Matrix space linked above. Most clients don't yet support spaces; you can enable them as a beta feature and join the space to see the channels in it. There's nothing special about the channels so once you join one you'll be able to use it from any other Matrix client as well. + +Being an open protocol, Matrix allows third-party clients (Element is first-party, created by the protocols designers), and there are many available. Most are lacking in features or otherwise difficult to use. For a desktop client, [Nheko](https://github.com/Nheko-Reborn/nheko) seems to be the best chance of a good experience. + +#### BQNBot + +BQNBot will run your code from chat! Begin your message with `bqn)` and our friend (designation B-QN) will evaluate the rest and show the output. While putting your code in blocks `` `like this` `` 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 `bqn)`, and use a multi-line code block, as shown below. + + bqn) + ``` + some←code←↕10 # Comment + code+some + ``` diff --git a/docs/community/forums.html b/docs/community/forums.html new file mode 100644 index 00000000..8406f4ef --- /dev/null +++ b/docs/community/forums.html @@ -0,0 +1,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. Most clients don't yet support spaces; you can enable them as a beta feature and join the space to see the channels in it. There's nothing special about the channels so once you join one 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 protocols 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.</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. 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> diff --git a/docs/community/index.html b/docs/community/index.html index 61b4d43c..a2a8000a 100644 --- a/docs/community/index.html +++ b/docs/community/index.html @@ -5,12 +5,13 @@ </head> <div class="nav">(<a href="https://github.com/mlochbaum/BQN">github</a>) / <a href="../index.html">BQN</a></div> <h1 id="bqn-community-links"><a class="header" href="#bqn-community-links">BQN community links</a></h1> -<p>Yes, BQN has users! Forums where we discuss things are linked <a href="../index.html#where-can-i-find-bqn-users">on the main page</a>, and there are a few projects elsewhere as well.</p> +<p>Yes, BQN has users! This page gathers links to work by the community. To get in touch, please use our <a href="forums.html">chat forums</a>.</p> +<p>For code repositories using BQN, see:</p> <ul> <li>Github repositories <a href="https://github.com/topics/bqn">tagged BQN</a></li> <li><a href="https://codeberg.org/ndrogers/bqn-rest">bqn-rest</a>, for web APIs</li> </ul> -<p>You can also see BQN submissions on some sites that encourage shorter-form programming with the links below:</p> +<p>And the links below point to BQN submissions on some sites that encourage shorter-form programming.</p> <ul> <li><a href="https://rosettacode.org/wiki/Category:BQN">Rosetta Code</a> (consider translating <a href="https://rosettacode.org/wiki/Category:APL">APL versions</a>?)</li> <li>Stack Exchange <a href="https://codegolf.stackexchange.com/search?tab=newest&q=BQN">Code Golf & Coding Challenges</a></li> diff --git a/docs/index.html b/docs/index.html index b5ffce3d..458d4aa4 100644 --- a/docs/index.html +++ b/docs/index.html @@ -63,9 +63,33 @@ <p>If you're already an array programmer, you might start with the <a href="doc/index.html"><strong>documentation</strong></a> right away, using the <a href="doc/fromDyalog.html">BQN-Dyalog APL</a> or <a href="doc/fromJ.html">BQN-J</a> dictionary as a quick reference where appropriate. Be aware of two key differences between BQN and existing array languages beyond just the changes of <a href="doc/primitive.html">primitives</a>—if these differences don't seem important to you then you don't understand them! BQN's <a href="doc/based.html">based array model</a> is different from both a flat array model like J and a nested one like APL2, Dyalog, or GNU APL in that it has true non-array values (plain numbers and characters) that are different from depth-0 scalars. BQN also uses <a href="doc/context.html">syntactic roles</a> rather than dynamic type to determine how values interact, that is, what's an argument or operand and so on. This system, along with lexical closures, means BQN fully supports Lisp-style <a href="doc/functional.html">functional programming</a>.</p> <p>A useful tool for both beginners and experienced users is <a href="https://mlochbaum.github.io/bqncrate/"><strong>BQNcrate</strong></a>, a searchable collection of BQN snippets to solve particular tasks. If you have a question about how you might approach a problem, give it a try by typing in a relevant keyword or two.</p> <h2 id="where-can-i-find-bqn-users"><a class="header" href="#where-can-i-find-bqn-users">Where can I find BQN users?</a></h2> -<p>There's a BQN <a href="https://matrix.org/">Matrix</a> channel at #bqn:matrix.org, which you can see in the Element web client with <a href="https://app.element.io/#/room/%23bqn:matrix.org">this link</a>, and one on Discord that you can join with <a href="https://discord.gg/SDTW36EhWF">this invite</a>. The two channels are bridged so that comments in one appear in both. The Discord server has other array programming channels as well, with the corresponding Matrix channels gathered in <a href="https://app.element.io/#/room/%23array:matrix.org">this space</a> (link uses Element's spaces beta). BQN and the other channels are very active: you wouldn't believe how many people are here to discuss arrays all day!</p> -<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. 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.</p> -<p>In addition to these forums, you can contact me personally via Github issues or with the email address shown in my Github profile.</p> +<p>Chat forum links below; either of the bold ones will open in a browser without much hassle if you just want to get on quickly. Further forum details <a href="community/forums.html">here</a>.</p> +<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><a href="https://en.wikipedia.org/wiki/Discord_(software)">Discord</a> is a popular commercial chat client and Element is a similar UI for the open chat protocol <a href="https://matrix.org/">Matrix</a>. They're bridged together so that messages in one appear in the other. Most discussion happens on these (they're quite active), but see also the <a href="community/index.html">community</a> page for activities and such in other places.</p> +<p>Also feel free to contact me personally via Github issues or with the email address shown in my Github profile.</p> <h2 id="can-i-help-out"><a class="header" href="#can-i-help-out">Can I help out?</a></h2> <p>Certainly! There are never enough hours in the day and contributors from beginner to advanced programmers are all welcome. If you're interested I recommend you ask on the forums first to get a feel for what exactly is needed.</p> <p>You will certainly feel an urge to skip this paragraph and get to the fun stuff, but the most important resource for implementing a language is <strong>testing</strong> and the most valuable one for building a language community is accessible introductions to the language and <strong>learning materials</strong>. These are both very demanding, but if you're willing to put in the work to advance BQN in the most effective way then this is it. One form of documentation that many users would appreciate is short descriptions—a sentence or two with examples—of the primitives for each glyph that can be displayed as help in the REPL. To be honest I'm lousy at making these and would prefer for someone else to do it.</p> |
