12:03 AM
@Bubbler Can you TIO it failing?

8 hours later…
8:14 AM
if `⍺(f g h)⍵` is `(⍺f⍵)g(⍺h⍵)` then why `⍺(f∘h)⍵` is `⍺f(h ⍵)` (isn’t it?)

9:00 AM
@lelf The `∘` (called Jot) is an operator, not a function. It binds tighter than a train, and it forms a single function from its left and right operands. So `(f∘h)` works differently from `f g h`. "`⍺(f∘h)⍵` is `⍺f(h ⍵)`" is just the definition of Jot.
SEDE query for indefinite APL bounty hunters :)
2

9:40 AM
@Adám How exactly does `⊤` (encode) work with non-integral left argument?

@lelf (f+g)(x) in Traditional Mathematical Notation (TMN) is `(f+g)(x)` in APL. (f∘g)(x) in TMN is `(f∘g)(x)` in APL. Now we add a left argument (using dot notation): (f+g)(x) ⇔ f(x)+g(x) → x.(f+g)(y) ⇔ x.f(y)+x.g(y) which in APL is `(x f y)+(x g y)`. Similarly, (f∘g)(x) ⇔ f(g(x)) → x.(f∘g)(y) ⇔ x.f(g(y)) which in APL is `x f g y`.

3 hours later…
12:32 PM
@Bubbler Does this model help?
``` Rp←{
⎕CT←0
pv←1↓⌽×\⌽⍺,1 ⍝ position values
}```

a simpler model outputting the result in reverse would be `{{⎕←⍺|⍵ ⋄ ⌊⍵÷⍺}/⍺,⍵}` (which would be more prettily describable as a loop with an accumulator but apl doesn't really make that easy)

@dzaima Doesn't that divide by zero?
@dzaima `{⎕DIV←0 ⋄ r⊣{r,←⍺|⍵ ⋄ ⌊⍵÷⍺}/⍺,⍵⊣r←⍬}` seems to work.

@Adám with a zero in ⍺ you mean? yeah, but imo that's just an afterthought (or a prethought of replacing 0 with ∞)

1:15 PM
And that's a nice hint for golfing the zeckendorf thing

3 hours later…
4:14 PM
@Traws Hey there. Interested in APL?

4:44 PM
Not sure I understand the error for this: `'bsearch'⎕CY'dfns' ⋄ {w←⍵ ◊({w≤⍵}bsearch 0 1)}1`

5:36 PM

@Traws Not a problem. Let me know if you want an intro to APL.
@lelf `w←⍵ ◊({w≤⍵}` has a fake diamond:
`⋄ 'bsearch'⎕CY'dfns' ⋄ ⎕←{w←⍵ ⋄({w≤⍵}bsearch 0 1)}1`
@DyalogAPL Hello?
`⍞←{w←⍵ ⋄({w≤⍵}bsearch 0 1)}1 ⊣ 'bsearch'⎕CY'dfns'`

`@Adám 1`

Thank you.
(Oh, I get it. It is really a dfn body, so a non-assignment terminates.)

5:58 PM
@Adám a-ha! Thanks. Blame emacs’ APL input-mode :)

@lelf The emacs mode is made for GNU APL which uses a different Unicode diamond!

it accepts both actually. And both iotas it seems

@lelf [Relevant](sudleyplace.com/APL/APL%20Characters%20and %20Their%20Aliases.pdf). I suggest you complain to support@dyalog.com that we should handle all aliases.

now trying it, gnu apl accepts pretty much everything… both alphas, omegas, even minuses (ascii hyphen & mathematical minus U+2212). Edit: ah, it's all in the pdf you posted

@lelf Almost. GNU added "dfns" after that doc was written, so it doesn't mention `⍺⍵` in GNU.

7:07 PM
complained to support@
⎕←1∣2|3 ⍝ interestingly, some doppelgängers are already accepted

@lelf You can't use comments with the bot.
`⎕←1∣2|3 ⊣ 'interestingly, some doppelgängers are already accepted'`

```@Adám
0```

@lelf And yes, two to be precise, that one and `∧` vs `^`.
I personally think that if Dyalog wants to position itself as the ultimate APL for the future, it should eat all the synonyms (but normalise immediately).