!cxPCiPlsXnajakSrqd:matrix.org

Array languages

457 Members
General discussion about APL-like array languages. See #array:matrix.org for other rooms18 Servers

Load older messages


SenderMessageTime
6 Dec 2022
@_discord_125549206139174912:t2bot.iorak1507#1964 people always say you have to count it, but in practice you just don't 01:10:50
@suhr:matrix.orgsuhrYou sort of do when you read an expression from right to left.01:11:36
@_discord_125549206139174912:t2bot.iorak1507#1964 not really 01:12:11
@suhr:matrix.orgsuhrIt's just mod 2 counting, so it's easy.01:12:14
@_discord_1002703080321728512:t2bot.ioTonyC "i just had a random idea. left most and right most glyphs are tines. wonder if that would turn out neat"

You mean a 2 tined carving fork instead of a 3 tined dinner fork? It strikes me as making for clumsy eating
01:12:15
@_discord_671689100331319316:t2bot.ioBrian E#0926 :) yes not a good fork for eating 01:12:46
@dukereg:matrix.orgdukereg There's already a locality problem the way things are now (at least in k/J), because primitives are often overloaded and I often have to go though every step,
working out which overload it is,
and therefore what kind of result it will have,
and therefore what shape and/or sign and/or type of argument will be given to the next verb along,
and therefore what overload of the next verb will be used,
all the way right to left down the train.
02:13:06
@dukereg:matrix.orgdukeregUnless y'all know something I don't, which is always possible02:14:08
@_discord_687763954050793501:t2bot.ioRaul (Miller) Locality is a general problem with unfamiliar code of all flavors. One of my favorite techniques for combatting it is: well chosen examples. Once I understand some examples, i can neglect a lot of irrelevant details. 03:39:35
@_discord_141184225394032640:t2bot.ioCake? rum want Forks do pose a issue for new comers but I do generally find them more readable/predictable than a dfn. It isn't going to jump into a loop or do anything fancy with a handful of variables although that's a benefit of all tacit code. Forks just allow better use of dyadic functions in tacit statements. “The result of f plus the result of h” is quite a nice pattern. I don't think it would extend clearly to K's more-than-two-argument functions. 03:42:57
@_discord_1002703080321728512:t2bot.ioTonyC " Locality is a general problem with unfamiliar code of all flavors. One of my favorite techniques for combatting it is: well chosen examples. Once I understand some examples, i can neglect a lot of irrelevant details. "

The last really good, really illustrative, really insightful, APL examples that resonated with me was when Dave Gilman's dad handed me a copy of "APL/360 Interactive Approach" (about 3 months after Armstrong set foot on the moon), and started giving Wednesday afternoon classes.

I've really been dining off that ever since
03:49:59
@_discord_624974820840308737:t2bot.ioColTim#5847 my trick is to not to try to read the code but rather to just execute it 04:09:52
@_discord_624974820840308737:t2bot.ioColTim#5847 the K trains make running pieces of a chunk of code trivial (just drop stuff to the left) 04:10:14
@_discord_624974820840308737:t2bot.ioColTim#5847 with forky/train-y stuff I never know where to snip things off to get a chunk of code that does part of whatever the full block of code does 04:10:42
@chrispsn:matrix.orgchrispsn
In reply to @_discord_624974820840308737:t2bot.io
with forky/train-y stuff I never know where to snip things off to get a chunk of code that does part of whatever the full block of code does
100% my issue too
04:11:01
@_discord_624974820840308737:t2bot.ioColTim#5847 with K, that's trivial! 04:11:05
@_discord_520827680602718221:t2bot.iochenson joined the room.04:19:56
@_discord_624974820840308737:t2bot.ioColTim#5847 (it also fits nicely with the lack of precedence) 04:25:06
@opopopo:matrix.orgopopopo In K, how does one partition a list by non-overlapping windows? e.g. 3 <code> !9 => (0 1 2; 3 4 5; 6 7 8)? 07:24:49
@chrispsn:matrix.orgchrispsn
In reply to @opopopo:matrix.org
In K, how does one partition a list by non-overlapping windows? e.g. 3 <code> !9 => (0 1 2; 3 4 5; 6 7 8)?
in ngn/k cut is your best bet:(3*!3)_!9
07:26:15
@opopopo:matrix.orgopopopoThanks07:26:32
@opopopo:matrix.orgopopopoSeems to work in oK as well07:26:49
@chrispsn:matrix.orgchrispsn k9 has atom cut: 3^!9 or -3^!9 07:26:55
@_discord_651823008347979793:t2bot.ioAdám#2156 Wait, doesn't # do this using nulls? 07:31:20
@_discord_870115701279584326:t2bot.ioDiscoDoug Or 0N 3 #. 07:31:46
@chrispsn:matrix.orgchrispsn
In reply to @_discord_651823008347979793:t2bot.io
Wait, doesn't # do this using nulls?
oh true, i completely forgot
07:31:53
@_discord_870115701279584326:t2bot.ioDiscoDoug Jinx! Yep. 07:31:57
@_discord_221638066740133890:t2bot.iouakci~ joined the room.12:38:06
@_discord_595317473247756288:t2bot.ioAlex Shroyer If your REPL or text editor was smart enough it could syntax highlight each token according to its overload. So (in K for example) 3 dyad/x would highlight dyad in one color, but 3 monad/x would highlight monad a different color. This might require a very smart syntax highlighter. 13:39:14
@dzaima:matrix.orgdzaima that's only arity though; there are other ways things are overloaded too, most importantly by (runtime) type 13:40:23

There are no newer messages yet.


Back to Room List