From 1760a683f918c2e61a123c70ab4a3fd0ad649db9 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Mon, 11 Jul 2022 14:31:40 -0400 Subject: Rebuild --- docs/doc/arrayrepr.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/doc/arrayrepr.html b/docs/doc/arrayrepr.html index b2335438..f181a47f 100644 --- a/docs/doc/arrayrepr.html +++ b/docs/doc/arrayrepr.html @@ -213,7 +213,7 @@

Strand notation is mainly useful for simple elements that don't require parentheses. A strand with one set of parentheses is no shorter than using list notation (but could look nicer), and one with more parentheses will be longer.

Why not whitespace?

In APL two or more arrays that are next to each other in the code are combined into a list, a convention known as stranding. So 2 3 5 + 1 adds a list to a number. This looks substantially cleaner than a BQN list, so it's reasonable to ask: why give it up? I admit I've been jealous of that clean look at times. But I'm also finding I view it with a certain unease: what's hiding in that space?

-

This feeling comes because the language is doing something I didn't ask it to, and it's well justified. Consider the BQN expression a +˝×1 b for a matrix product. If we remove the space then we have 1 b. There's no good rule to say which of the three subjects 1, , and b to strand together. For modifiers like Rank and Depth we'd like stranding to bind more tightly than modifier application, but in order to actually use arguments for these modifiers the modifier application should take precedence. Similar but simpler cases show up more often when binding an argument to a function. The difference between the following two statements is obvious in BQN, but with space-for-stranding one of them would require a complicating parenthesis.

+

This feeling comes because the language is doing something I didn't ask it to, and it's well justified. Consider the BQN expression a +˝×1 b for a matrix product. If we remove the ligature then we have 1 b. There's no good rule to say which of the three subjects 1, , and b to strand together. For modifiers like Rank and Depth we'd like stranding to bind more tightly than modifier application, but in order to actually use arguments for these modifiers the modifier application should take precedence. Similar but simpler cases show up more often when binding an argument to a function. The difference between the following two statements is obvious in BQN, but with space-for-stranding one of them would require a complicating parenthesis.

↗️
    3 1+× 5
 20
 
-- 
cgit v1.2.3