!EjsgbQQNuTfHXQoiax:matrix.org

BQN

1019 Members
The BQN array programming language, an APL descendant36 Servers

Load older messages


SenderMessageTime
23 Mar 2025
@dzaima:matrix.orgdzaima (on slow Under stuff, I'm reminded that CBQNs F⌾(m⊸/) isn't particularly fast either, and is almost never faster than F⌾((/m)⊸⊏)) 00:06:38
@dzaima:matrix.orgdzaima * (unrelatedly, on slow Under stuff, I'm reminded that CBQNs F⌾(m⊸/) isn't particularly fast either, and is almost never faster than F⌾((/m)⊸⊏)) 00:07:02
@mlochbaum:matrix.orgMarshall Branchless index generation's hard to beat. When is F⌾(m⊸/) faster, other than for constant functions? 00:10:00
@dzaima:matrix.orgdzaima for, like, an all-ones mask, or close to that, or something, iirc; looked at it some while back 00:11:01
@dzaima:matrix.orgdzaima also makes less passes through memory 00:11:14
@dzaima:matrix.orgdzaima * also generally requires less memory bandwidth 00:11:39
@dzaima:matrix.orgdzaima of course breaking into blocks fixes that 00:11:59
@dzaima:matrix.orgdzaima more unrelatedly: have thought about moving * in BQN386 upwards (presumably top-aligned to modifiers?), so it's not exactly the same as (which'd stay center-height) 00:13:50
@mlochbaum:matrix.orgMarshall If we can detect scalar F, a version that used blend for denser m would be neat. Which I guess decomposes into ⊣⌾(m⊸/) after applying F. So like a+⌾(m⊸/)b is (a+b)⊣⌾(m⊸/)b. Monadic cases would probably have bound arguments, a little more effort to detect. 00:13:57
@mlochbaum:matrix.orgMarshall If we're ignoring suitability for APL I'd give the asterisk six points, but moving upwards makes sense too. 00:15:18
@dzaima:matrix.orgdzaima APL386 has gotten ~all of BQN386 copied into it iirc so APL's got a BQN-compatible-but-primarily-APL font already 00:16:42
@rubenverg:matrix.orgMadeline VerganiI think new apl386 has all the glyphs00:23:36
@rubenverg:matrix.orgMadeline Verganiincluding weird doublestruck00:23:43
@juuso:matrix.ponkila.com@juuso:matrix.ponkila.com removed their profile picture.00:25:34
@juuso:matrix.ponkila.com@juuso:matrix.ponkila.com removed their display name juuso.00:26:17
@juuso:matrix.ponkila.com@juuso:matrix.ponkila.com left the room.00:27:05
@dzaima:matrix.orgdzaimaScreenshot from 2025-03-23 02-43-02.png
Download Screenshot from 2025-03-23 02-43-02.png
00:43:19
@dzaima:matrix.orgdzaima aligning with modifiers is stupid and ugly; here's top-aligned with numbers 00:43:35
@_discord_201716976924622849:t2bot.iotwobular now add a star sitting on the baseline 00:45:25
@_discord_604614910030118912:t2bot.iorubenverg also a star rotated 36 degrees 00:46:17
@_discord_201716976924622849:t2bot.iotwobular overstrike the baseline star with an asterisk and devise an operation that could bear the resulting glyph 00:47:43
@_discord_604614910030118912:t2bot.iorubenverg ? 00:48:38
@dzaima:matrix.orgdzaimaScreenshot from 2025-03-23 02-59-36.png
Download Screenshot from 2025-03-23 02-59-36.png
00:59:47
@dzaima:matrix.orgdzaima and that's properly-symmetrical rotations (managed to do it in graphite.dev nodes despite some glitchiness), unlike BQN386's :) 01:02:07
@dzaima:matrix.orgdzaima * and that's properly-symmetrical rotations (managed to do it in graphite.rs nodes despite some glitchiness), unlike BQN386's :) 01:02:54
@_discord_870115701279584326:t2bot.iodiscodoug Those stars look happy at least.. 03:14:36
@_discord_604614910030118912:t2bot.iorubenverg oh didn't realize how asymmetric it was 07:21:15
@ge24z009:matrix.org@ge24z009:matrix.org left the room.11:00:55
@mlochbaum:matrix.orgMarshall ae7tb99 Tried a few more tweaks to this, only really good thing I found was that MPr ← MPl⌾⍉˜ is simpler and faster (but the fastest I have is MPr ← {MP⟜𝕩⌾(((↕⊸×´≢𝕨)+⌜i)⊏⥊)𝕨}). Finding the pivot is asymptotically expensive, and saving the maximum index in each row helps with that, but the criterion for when to update it is complicated and it's not that much faster: I get 35% at side length 100. 16:43:21
@mlochbaum:matrix.orgMarshall The parallel Jacobi that groups n/2 independent rotations seems really promising, both because it drops the pivot search and because you can stick to row-wise operations. That is, do all the left multiplications, then transpose and do all the right multiplications. So all the arithmetic is vectorized and it doesn't have to pick out individual columns. 16:45:24

There are no newer messages yet.


Back to Room ListRoom Version: 6