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

Load older messages

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

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


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

@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

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


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


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

@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

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

@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

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.

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

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.

@dzaima:matrix.orgdzaima oh, namespaces is annoying 18:55:40

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

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

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


There are no newer messages yet.

Back to Room List