!EjsgbQQNuTfHXQoiax:matrix.org

BQN

75 Members
The BQN array programming language, an APL descendant5 Servers

Load older messages


SenderMessageTime
4 Aug 2021
@dzaima:matrix.orgdzaima (also breaks things if in the future you're able to introspect blocks) 17:46:16
@mlochbaum:matrix.orgMarshall

Well, you'd need a way to determine if something is really a block.

17:47:29
@mlochbaum:matrix.orgMarshall

What would •math.Sin be? It's not actually a system value.

17:47:39
@dzaima:matrix.orgdzaima if -things were primitives, there'd be an obvious answer of "primitive" 17:48:03
@dzaima:matrix.orgdzaima (more somplicated is what •file.chars is) 17:48:22
@suhr:matrix.orgsuhrFrom a practical point of view, it's hard to use a language if you don't know if system functions even exist.17:48:32
@suhr:matrix.orgsuhr So it would be nice to have at least some documentation. 17:48:57
@dzaima:matrix.orgdzaima -things are more like primitives with side-effects, than blocks that aren't blocks 17:49:01
@suhr:matrix.orgsuhrMaybe as a documentation to CBQN.17:49:43
@mlochbaum:matrix.orgMarshall

There is the spec at least. I'll try to get to the more important system functions sooner.

17:50:05
@mlochbaum:matrix.orgMarshall

The online version has •listSys, giving a list of existing system function names. Would be nice to have that in CBQN.

17:51:00
@mlochbaum:matrix.orgMarshall

And also •ListKeys, which you can apply to a namespace.

17:51:46
@dzaima:matrix.orgdzaima marking •Show as a block makes the formatter display it as *function* :| 18:01:51
@dzaima:matrix.orgdzaima (and my "marking" I mean adding in a ton of hacks everywhere because •Show implementation-wise is literally no different to +) 18:03:55
@mlochbaum:matrix.orgMarshallJS does this too. I should probably just let the implementation format every non-character atom?18:06:08
@dzaima:matrix.orgdzaima but it is passing tests, doing what it should, and i've pushed it. But I still fully hate it and it's stupid and I hope to revert it one day because it's stupid and it sucks 18:07:45
@dzaima:matrix.orgdzaima(if i had things my way things wouldn't even ever check for purity because that's already stupid and fills are stupid)18:08:37
@dzaima:matrix.orgdzaima(should probably rename dzaima/BQN to JBQN or something so one day there could be an actual dzaima/BQN)18:09:32
@dzaima:matrix.orgdzaima(JBQN sounds a bit too much like J though)18:10:08
@mlochbaum:matrix.orgMarshall

You don't have to name every language you design after yourself…

18:10:11
@dzaima:matrix.orgdzaimabut it'd literally be dzaima's BQN and nothing else18:10:34
@dzaima:matrix.orgdzaimalike dzaima/APL which exists purely for me to be able to make changes to APL that I want with no restrictions18:11:06
@mlochbaum:matrix.orgMarshall

Pushed code to make the formatter call the •Glyph input on decompose 1 as well as 0. Not super well-tested so it could have errors.

18:41:54
@dzaima:matrix.orgdzaima pushed CBQN giving a nicer thing for blocks 18:48:21
@mlochbaum:matrix.orgMarshall

Oh, it ends up passing in namespaces too. I guess I'll make JS print the keys but not the values, since those can't change.

18:54:58
@dzaima:matrix.orgdzaima oh, namespaces is annoying 18:55:40
@mlochbaum:matrix.orgMarshall

I think a printout like {var1‿var2⇐} would look all right. Maybe truncated if there are a huge number of keys.

18:57:10
@dzaima:matrix.orgdzaima pushed that 19:02:43
@mlochbaum:matrix.orgMarshallSpent too long deciding on the commit message, you beat me.19:04:17
@mlochbaum:matrix.orgMarshall

I like that it has no edge cases because {⇐} is a valid empty namespace.

19:04:48

There are no newer messages yet.


Back to Room List