diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/commentary/problems.html | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/docs/commentary/problems.html b/docs/commentary/problems.html index 4199ddaa..f444638a 100644 --- a/docs/commentary/problems.html +++ b/docs/commentary/problems.html @@ -28,8 +28,6 @@ <p>This includes index-of-last, and searching starting at a particular index, when the desired result indices are to the array to be seached <em>before</em> it is modified. Given indices <code><span class='Value'>i</span></code> into an array <code><span class='Value'>๐จ</span></code> (for example <code><span class='Function'>โฝโโ </span><span class='Value'>๐จ</span></code> or <code><span class='Value'>a</span><span class='Function'>+โ</span><span class='Value'>b</span></code>), this section can be searched with <code><span class='Paren'>(</span><span class='Value'>i</span><span class='Function'>โพโ </span><span class='Value'>๐จ</span><span class='Paren'>)</span><span class='Function'>โ</span><span class='Modifier'>ห</span><span class='Paren'>(</span><span class='Value'>i</span><span class='Function'>โ</span><span class='Value'>๐จ</span><span class='Paren'>)</span><span class='Function'>โ</span><span class='Value'>๐ฉ</span></code>. But this is clunky and difficult for the implementation to optimize.</p> <h3 id="subtraction-division-and-span-are-backwards"><a class="header" href="#subtraction-division-and-span-are-backwards">Subtraction, division, and span are backwards</a></h3> <p>The left argument feels much more like the primary one in these cases (indeed, this matches the typical left-to-right ordering of binary operators in mathematics). The commonly-paired <code><span class='Function'>โ</span><span class='Modifier2'>โ</span><span class='Function'>รท</span></code> and <code><span class='Function'>|</span></code> have opposite orders for this reason. Not really fixable; too much precedent.</p> -<h3 id="cant-access-array-ordering-directly"><a class="header" href="#cant-access-array-ordering-directly">Can't access array ordering directly</a></h3> -<p>Only <code><span class='Function'>โโ</span></code> use array ordering rather than just array equality or numeric ordering. Getting at the actual ordering to just compare two arrays is more difficult than it should be (but not <em>that</em> difficult: <code><span class='Function'>โฅ</span><span class='Modifier2'>โธ</span><span class='Function'>โ</span><span class='Modifier2'>โพ</span><span class='Function'><</span></code> is TAO <code><span class='Function'>โค</span></code>).</p> <h3 id="nothing--interacts-strangely-with-before-and-after"><a class="header" href="#nothing--interacts-strangely-with-before-and-after">Nothing (<code><span class='Nothing'>ยท</span></code>) interacts strangely with Before and After</a></h3> <p>Since <code><span class='Value'>๐จ</span><span class='Function'>F</span><span class='Modifier2'>โธ</span><span class='Function'>G</span><span class='Value'>๐ฉ</span></code> is <code><span class='Paren'>(</span><span class='Function'>F</span><span class='Value'>๐จ</span><span class='Paren'>)</span><span class='Function'>G</span><span class='Value'>๐ฉ</span></code> and <code><span class='Value'>๐จ</span><span class='Function'>F</span><span class='Modifier2'>โ</span><span class='Function'>G</span><span class='Value'>๐ฉ</span></code> is <code><span class='Value'>๐จ</span><span class='Function'>F</span> <span class='Function'>G</span><span class='Value'>๐ฉ</span></code> in the dyadic case, we might expect these to devolve to <code><span class='Function'>G</span><span class='Value'>๐ฉ</span></code> and <code><span class='Function'>F</span> <span class='Function'>G</span><span class='Value'>๐ฉ</span></code> when <code><span class='Value'>๐จ</span></code> is not present. Not so: instead <code><span class='Value'>๐ฉ</span></code> is substituted for the missing <code><span class='Value'>๐จ</span></code>. And Before and After are also the main places where a programmer might try to use <code><span class='Value'>๐จ</span></code> as an operand, which doesn't work either (the right way is the train <code><span class='Value'>๐จ</span><span class='Function'>Fโข</span></code>). It's also a little strange that <code><span class='Value'>v</span> <span class='Function'>F</span><span class='Modifier'>ห</span><span class='Nothing'>ยท</span></code> is <code><span class='Nothing'>ยท</span></code>, while <code><span class='Nothing'>ยท</span><span class='Function'>F</span> <span class='Value'>v</span></code> is <code><span class='Function'>F</span> <span class='Value'>v</span></code>.</p> <h3 id="no-access-to-fast-high-precision-sum"><a class="header" href="#no-access-to-fast-high-precision-sum">No access to fast high-precision sum</a></h3> @@ -51,6 +49,8 @@ <p>APL has it and BQN doesn't; after some experience it seems this causes few problems, and the extra effort required for the algorithms that do need it is negligible (anyway, it's better to be aware when your code relies on imprecise equality). APL and J also tolerate inexact indices and lengths, which is also something that could be supported.</p> <h3 id="index-of-privileges-the-first-match"><a class="header" href="#index-of-privileges-the-first-match">Index Of privileges the first match</a></h3> <p>It could be more sound to look at all matches, but using just the first one is too convenient. J has an index-of-last function; in BQN you have to reverse the left argument and then do arithmetic: <code><span class='Function'>โ </span><span class='Modifier2'>โ</span><span class='Function'>โฃ-</span><span class='Number'>1</span><span class='Function'>+โฝ</span><span class='Modifier2'>โธ</span><span class='Function'>โ</span></code>.</p> +<h3 id="cant-access-array-ordering-directly"><a class="header" href="#cant-access-array-ordering-directly">Can't access array ordering directly</a></h3> +<p>Only <code><span class='Function'>โโ</span></code> use array ordering rather than just array equality or numeric ordering. Getting at the actual ordering to just compare two arrays is not hard but also not obvious: <code><span class='Function'>โ</span><span class='Modifier2'>โพ</span><span class='Function'>โ</span></code> is TAO <code><span class='Function'>โค</span></code>.</p> <h3 id="glyphs-that-arent-great"><a class="header" href="#glyphs-that-arent-great">Glyphs that aren't great</a></h3> <p>Blanket issue for unintuitive glyphs. Currently I find <code><span class='Function'>โฅโโโโโท</span><span class='Modifier'>โผ</span><span class='Modifier2'>โโ</span></code> to not be particularly good fits for what they describe.</p> <h3 id="cant-mix-define-and-modify-in-multiple-assignment"><a class="header" href="#cant-mix-define-and-modify-in-multiple-assignment">Can't mix define and modify in multiple assignment</a></h3> |
