« first day (1507 days earlier)      last day (1444 days later) » 

01:45
Any K users have comments on project architecture and how to organize projects , please take a look chat.stackexchange.com/transcript/message/57314394#57314394
 
5 hours later…
07:13
@user958099 Hi LdBeth. If you want to participate here, simply send an email to [email protected]
 
2 hours later…
08:59
codegolf.stackexchange.com/questions/220516/… I got a comment on my answer, am I right in saying it is in that path if dyalog is installed?
09:11
@rak1507 Yes, but not only that. On a normal system, ⎕SE.SALT.Load'HttpUtils' works too.
yeah
 
1 hour later…
10:14
@Adám I offer the following tweak to your solution:
{⎕JSON⍠'Dialect' 'JSON5'⊢2⌽'}}{"":{',∊'^;.*' '^\[(.*)]' '^(.*?)\s*=\s*(.*)'⎕R'' '},"\1":{' '"\1":"\2",'⊢⍵}
(last regex to allow space around the first =)
@xpqz Not sure if that's valid INI though.
Call it "Python ConfigParser compatiblity" :)
This claims it's valid, but I've not taken it to the actual spec: docs.python.org/3/library/configparser.html
wow, that module is 1363 lines long
does a lot more than just reading it I guess
Looking at what actually is allowed, the story is way more complex than it seems.
yea lots of stuff
10:23
I didn't realise you can also use colon as the key-val separator.
@Adám's trick of converting to json first is handy.
11:10
@user958099 Welcome. So you're interested in APL? Can we be of assistance?
 
1 hour later…
12:16
Seems I'm on board now, thank you @Adám
@user958099 welcome
welcome
hi there
12:38
Some day I wrote an Atkinson image dithering
` Atkinson←{
x y←⍴⍵
s←x×y
t←⍺
a←1 2,x+¯1 0 1,x
p←{(((8÷⍨(⊢-(255×t<⊢))⍺⌷⍵)∘+)@((⊢(/⍨)(s∘>))⍺+a))⍵}
t>x y⍴1{⍺>s:⍵ ⋄ (1+⍺)∇ ⍺ p ⍵},⍵
}`
(btw, code indentation is done by prepending 4 spaces to every line, or by hitting ctrl+k)
*code formatting, not indentation
The idea is treat the image as an 1D array and compute the offsets to do the update. It takes long on slightly larger images. I find the idea is close to Levenshtein distance, but "fold"/reduce get WS FULL on large images.
not that it matters but s can be ×/⍴⍵
what is your max ws set to?
(also related, the dithering done in k, beyondloom.com/blog/dither.html)
Argh, the story is too complicated to explain, but suffice it to say that I have spent hours searching for a single bug in the double-arrow function definition syntax and it all ended up with a stupid error where I had hardcoded the wrong namespace.
In any case, my current design is such that functions declared with ∇ are global, and if they use ⇐ they are local.
13:17
ah, guess I need to learn how to make a newline without sending out the message
Figured it out,
thank you
@LdBeth Shouldn't a be defined in terms of y, not x? When a matrix is ravelled, the rows stay together, and y is the length of a row, so it will be the distance between a position and the same one in the next row, that is, between an element and the one above or below it.
@rak1507 I think my ws size is default value.
@Marshall: x is the width image, to make it easier(?) the image is raveled to 1D
omg, I think u are right, shape gives the height as the first element
@LdBeth Yes, you could consider x to be the width but you'd have to transpose before ravelling.
13:29
This is what it gives from the version I posted, that I didn't even realized there's a bug in the program
@LdBeth You're saying here that you switched to recursion because reduction was using too much memory, right? The here is a tail call, so I see why it doesn't cause a WS FULL. But ⊃p/(⌽⍳s),⊂,⍵ (untested) should do the same computation without saving intermediate results. What did your reduction look like?
There's also a big performance problem with p: it can't change in place because it doesn't know that it will never be reused (Dyalog doesn't do lifetime analysis on variables). I don't know of a way to fix this while keeping a pure functional style, and there might not be one.
What I would do for better performance is make one mutable variable i←,⍵, and modify it with a loop like {i[(⊢(/⍨)(s∘>))⍵+a]+←8÷⍨(⊢-(255×t<⊢))⍵⌷i}¨⍳s.
Personally I find this clearer because the state gets a dedicated variable rather than being passed as an argument. It's not good that there's no indication i will be modified, but you can add a comment.
13:52
@Marshall I tried to convert a simpler conventional one propagation array dithering to a fold, so it is similar to ⊃p/(⌽⍳s),⊂,⍵
```
foo←150 dither img
WS FULL
dither[2] ({t<(13⌷⍵)+1 1 2 1 1 2 2 1 1 2 1 1×8÷⍨(⊢-(255×t<⊢))⍵[3 7 8 9 11 12 14
15 17 18 19 23]

```
This is where I got ws full, from the session log
@LdBeth You can't do multiline code in the same message as normal text; put the code in its own message and use ctrl-k.
@LdBeth Nothing in that statement looks like it should use much memory, so I'm not sure what the issue could be. You could try just changing the last line of your current implementation to see if it has the same problem, but as long as it has to copy the image at each step it'll be just as slow.
ah, got it. Since that was a failed attempt, I don't have the definition left in the workspace.
14:43
@Marshall does J have function arrays?
@nathanrogers Kind of.
@Adám thanks!
@nathanrogers The J interpreter also has true function arrays, but that's generally considered a bug and I wouldn't recommend using it.
14:59
If you store APL code on github, add a file .gitattributes to tell github about Dyalog's many different file extensions: github.com/xpqz/aplutil/blob/main/.gitattributes
15:14
I just rediscovered that I'm loading the image data transposed, so that's why I use first instead second of the shape ∏∏
@xpqz Ah, yes, that should be publicised more.
@RGS I've found that in jupyterbook, if an APL code cell contains an underscore anywhere, the syntax highlighting is switched off in the resulting html -- have you noticed this?
can we somehow use windowed reduce on matrices
i basically want stencil, but without the 0 padding
@KamilaSzewczyk You can, but it'll treat each row or column separately.
say I have
      shuffled
 3  4 15  7
 6  5 10  9
12 13  1 14
 8  0 11  2
      1{{⊂⍵}⌺3 3⊢⍵}shuffled
┌───────┬────────┬────────┬───────┐
│0 0 0  │0 0  0  │0  0 0  │ 0 0 0 │
│0 3 4  │3 4 15  │4 15 7  │15 7 0 │
│0 6 5  │6 5 10  │5 10 9  │10 9 0 │
├───────┼────────┼────────┼───────┤
│0  3  4│ 3  4 15│ 4 15  7│15  7 0│
│0  6  5│ 6  5 10│ 5 10  9│10  9 0│
│0 12 13│12 13  1│13  1 14│ 1 14 0│
├───────┼────────┼────────┼───────┤
│0  6  5│ 6  5 10│ 5 10  9│10  9 0│
│0 12 13│12 13  1│13  1 14│ 1 14 0│
│0  8  0│ 8  0 11│ 0 11  2│11  2 0│
├───────┼────────┼────────┼───────┤
│0 12 13│12 13  1│13  1 14│ 1 14 0│
that's what i get from stencil
and i'm not interested in the outer parts of this matrix, with zero pads.
i can probably strip them off after the stencil is done but this doesn't seem to efficient to me
15:25
@KamilaSzewczyk It wouldn't really make sense because a reduction only ever happens along one axis. Some of the functions in towards improvements to stencil could be helpful.
anyone seen where I can get this guys config?
@Marshall thank you for the pointer of using a mutable state, the performance has been improved by a lot
@nathanrogers Probably not the same but J can look like APL or English is similar.
From the 2019 APL competition winner.
That's where I found the video
15:36
1{(,v)/⍨{,~b∨⊖⌽b←a∨⍉a←1⍪(⍵-1)⍵⍴0}≢v←{⊂⍵}⌺3 3⊢⍵}shuffled
that's my solution, probably it's horrible :P
what does that do?
n-wise reduce, but matrices.
(third time the charm)
do you know about the left argument to f in f⌺
w-
what does it change
      {⊂⍺↓⍵}⌺3 3⊢3 5⍴⎕A
┌──┬───┬───┬───┬──┐
│AB│ABC│BCD│CDE│DE│
│FG│FGH│GHI│HIJ│IJ│
├──┼───┼───┼───┼──┤
│AB│ABC│BCD│CDE│DE│
│FG│FGH│GHI│HIJ│IJ│
│KL│KLM│LMN│MNO│NO│
├──┼───┼───┼───┼──┤
│FG│FGH│GHI│HIJ│IJ│
│KL│KLM│LMN│MNO│NO│
└──┴───┴───┴───┴──┘
15:45
seems like an odd decision to me that stencil doesn't enclose by default
I can't think of many cases where you wouldn't want to
especially considering the enclose of a scalar is itself
@rak1507 wrong
3≡⊂3
(⊂2 3)≢⊂(⊂2 3)
oh, well... uh... ⊆ then!
@rak1507 All these new operators mix/don't enclose:
J/Roger Hui influence.
15:49
I can't see why that for ⌺ specifically is ever more useful than doing it
Roger is proposing allowing non-scalar right operands for and now the question is whether to enclose or not/mix or not.
I think enclose would be sensible so if ⍣scalar returned a vector result for example ⍣(1 2 3) would return a vector of vectors
Me too, but Roger disagrees.
Difference is of course ⊂⍤f⍣array vs ↑f⍣array
@Adám if it didn't mix, it could be extendable for any nested array with sane sematics. With mixing, the scalar and vector case have very different behavior
if i had a boolean matrix with two cells set, and i wanted to swap these two values in the resulting matrix, how to do it in a smart way
16:04
@KamilaSzewczyk ⌽@{boolean_matrix}data_matrix
@dzaima Ah you mean that the result would have exactly the same outer structure as the operand, only with every simple scalar replaced by an enclosure of the result of applying the function that many times?
okay, i completely missed that one
@Adám yeah - what BQN does
RGS
RGS
@xpqz I don't think I have, but let me test it out for you.
@dzaima mixing means extending further than just a simple array is fundamentally impossible
@dzaima That's a good point. Do you want to email roger@ about it?
16:09
@Adám out of the blue just saying "further extension of is impossible" feels a bit weird :p
RGS
RGS
@xpqz Aha, I see it. Looking at the tool log, I see a "\booktest\notebooks.ipynb:: WARNING: Could not lex literal_block as "APL". Highlighting skipped." message. It should be a deficiency in the plugin used for the highlighting.
Do you happen to know what they use? If it's open source we could fix it – or at least open an issue about it.
@dzaima You can mention that we discussed extension of 's right operand. We've recently been discussing it internally.
@Adám you can just mention it whenever it makes sense. (though even otherwise i'd prefer no merging. in dzaima/APL already doesn't merge, and (or rather ˘ in BQN as it's more compact, the ⊢∘ tripling its length) merging is awful every now and then, though it's usually good)
ok
(after finding out how matrix bridge bots get fancy user profiles informing about it being a single bridge, and deciding what to do with usernames (currently every SE user has -se appended to their name, which is ugly), my matrix bridge is probably good to go)
16:18
trying to make the JSON for the vscode snippet plugin: https://tio.run/##dVZbbxtFFH73r9i6QGzSJlAuKt4GSJwLKXUS7HCR0rAd787aU69nltlZJyYEFQmlidP0BqVp1VLoRaQqEg8gglRaJPcxD/yH/QX8g/LN2E4aLi/2nG/OnDNzLt/Z06RBIleyUB1uHH36NKDKiprcDaKhJauRS39AgpimD1l@Lj0ec1cxwSHVc@mC8JjPqITk7UlHIPJceiqul81WJZeeoCrCKsylZ4ik@nQ5lx6RxK1RBaHWEbSPIJc@wSpExZJ2zQhVZbwCIcqlSzQkkiihzbq5dF7U65RrCwR7Smo9a9lO6QfUaNOjkTvU5/fnBT8dwya1hz3P8Q9PUSOU4rKCV@X4T66WWIXbhThQLAyaALaL1GWhFC4J7FHWYB51/GR9ZWwxFBweGeAZsUAl0NXrpU9ivMoqCqFs/QPwXGs8EELaBcZZPa5rZDVPWYAb2gWy2MVWfygJqaz3Q3uYe1reMvKoWOD2NGy3f8Tr7VJIuON/NlyORBArapl02Ih2HMQRTq3dPUGjyJqt
@dzaima i don't know if you know, but in the irc side matrix usernames have a [m] appended
it keeps displaying weird characters like before -_-
@user41805 yeah. That's less ugly, but [se] is a bit too long for my liking, and [s] is a bit strange
@dzaima ≣̧
@RGS Not sure -- I only discovered it recently that it seemed to correspond to the _ character. Odd.
16:22
@Adám lol (my client doesn't do font fallback because that means a couple orders of magnitude slower window resizing so i had to resort to viewing that on SE ¯\_(ツ)_/¯)
@dzaima How about [≡] then?
@Adám that's nice (not that my client problems should influence anything, just thought to note it)
Right.
That looks clean enough. I'll see if I can get it to run locally.
RGS
RGS
@xpqz If you look at the Name.Variable, if I am reading that right, _ can't be the first character in a name, and that is wrong.
Trying the pygments demo, it works, although it highlights the _ strangely.
But yes, you're right.
That's the fix.
    # following IBM APL2 standard
    (r'[A-Za-zΔ∆⍙][A-Za-zΔ∆⍙_¯0-9]*', Name.Variable),
RGS
RGS
16:38
@xpqz It fixed it? From your original msg I can't understand if you meant any underscore whatsoever or only isolated underscores, but mastering.dyalog.com has underscores in code cells with highlighting – in the middle of the name of variables
Odd that high minus should be allowed in a variable name.
RGS
RGS
Btw, maybe that should be fixed to include accented letters...? Dyalog APL has support for those; anyone has any idea how the other APLs support this?
@xpqz Yeah that also doesn't look right...
@xpqz Ah, true _←4 is invalid in APL2.
I'll see if I can hack the pygments that jupyterbook uses.
@Adám oh :(
RGS
RGS
@xpqz You probably can; for one I have messed with it before.
16:40
APLX errors too. But the APL2 clone, GNU APL does allow _←4
Is ¯ allowed in a variable name (as long as not the first symbol) in APL2?
@RGS APL2 allows accented chars, APLX and GNU APL not.
@xpqz Yes, and in APLX and GNU APL too.
while at it, ⍫⍩ should be a operators (⍡ᑈᐵ also are in dzaima/APL, but probably not worth adding)
@dzaima Uh, is not an operator in any APLs but dzaima, afaik.
In many APLs, it is of the same syntactic class as
@Adám isn't it in Extended? (and aren't there at least plans for it in others?)
16:42
@dzaima OK, but that isn't a real APL, is it?
@Adám i'd say it's approximately the same level of realness as dzaima/APL. (and is only in dzaima/APL, but i'm suggesting it as it can't really be anything else)
Dyalog has tentative plans, not thing definite.
@dzaima True, and has been used in APL texts as a dyadic op before.
@RGS yes, that fixes it hooray!
RGS
RGS
@xpqz Cool! Now what should we do about it?
It is kind of annoying that pygments is broken.
I can PR it and see if they take it.
RGS
RGS
@dzaima I know you can PR.
What I mean is, the lexer there seems to follow standards that don't match Dyalog's.
And I was wondering how to proceed with regards to that. Adám just said that _←4 doesn't work in APL2 (which is now dead, correct?) and the lexer says it's following APL2's standards.
@RGS I don't think extending functionality (to support the biggest impl even!) is ever bad for a highlighter.
@RGS APL2 isn't dead, just moved out of IBM.
RGS
RGS
@dzaima True.
It seems to follow the "standard", but arguably, Dyalog's the most widely used, and actively developed APL.
RGS
RGS
16:50
Yeah. @xpqz want to do the honours, or would you rather have me PR that?
@RGS also isn't a function in APL2, but it's in there so
Don't mind. Maybe it has more gravitas if it comes from someone at Dyalog.
All I did was:
    # DYALOG APL
    (r'[A-Za-zΔ∆⍙_][A-Za-zΔ∆⍙_0-9]*', Name.Variable),
At some point they'll have to move to Dyalog as de facto standard.
Unicomp changed from APL2 to Dyalog layout for their mechanical keyboards a few years ago.
RGS
RGS
@xpqz I don't think that's relevant, at all. I don't mind doing that as part of my job, but I also don't want to prevent you from making a (small) contribution to the pygments project.
@xpqz So you removed the reference to APL2 and included the ref to Dyalog?
Actually, maybe I should leave the high minus in the second bit so that it doesn't now break APL2 highlights.
That's probably a better compromise.
RGS
RGS
16:53
Yeah. And what about the accented letters? IMO using them is a terrible idea, but they are allowed.
@xpqz Yeah, it doesn't actually hurt. This syntax colouring isn't supposed to error-check the code. For display purposes, mainly.
@RGS I'd add them too. Both Dyalog and APL2 allows them.
RGS
RGS
Thankfully, MDAPL lists the valid letters, just slightly above mastering.dyalog.com/…
worse problem - # is currently a comment starter there, but it's current namespace in Dyalog
There is also this:
filenames = ['*.apl']
@dzaima Ooh, # is a comment in GNU APL.
RGS
RGS
16:56
@xpqz filenames = ['*.apl?'] ?
Hello - in j (or apl, if it's not a builtin and I can try translating) is there an idiom for the coordinates of a boolean in a matrix? i.e. if I have (0 1 0;1 0 0; 0 0 0) I want to get (0 1;1 0) as a result
@RGS Shouldn't that be *.apl*?
Not relevant to jupyterbook, but Dyalog's penchant for a separate suffix for every APL ...thing could benefit.
RGS
RGS
@Adám * matches arbitrarily many characters, but we only want to match 1 maximum, no?
@C.Quilley I. in J and in APL.
16:57
*.apl.
RGS
RGS
@xpqz so what makes the first . be a literal dot and the last one a placeholder?
@RGS A mistake, I think. This is globbing, not regex.
Hmm, it's not a regex actually, it's a glob
So @Adám has it, I think: .apl
Meh
*.apl*
@Adám Not quite - that finds the index on each row; I wanted to get the row information as well (as well as any higher coordinates)
@xpqz I can't think of anything it'll match.
['*.apl','*.apl?'] (and also probably ,'*.dyalog')
RGS
RGS
Yup, *.apl? is what matches .aplf, .apln, .apla, etc
@C.Quilley Oh, in J that is the case, not in APL. You can implement it as as the copy # of the flattened matrix over the flattened list of all coordinates.
Is there a definitive list of all suffixes used by Dyalog?
Might be better to spell them out exactly
@xpqz afonci
@Adám Oh, thanks! I didn't realise that it was better implemented as ⍸
RGS
RGS
Oh wow, the docs page is missing a.
What's the a?
@RGS No.
> Additionally, Link uses .apla files
@xpqz array
RGS
RGS
Yeah, you are right. If only I knew how to read.
17:06
Dunno if the syntax colourer should even colour .apla
It's disallowing leading _ in function names, too.
RGS
RGS
@xpqz Are you looking at "name.function"?
Because that starts with a leading , which I guess is being used for system functions.
My guess is that actual functions are being highlighted the same way as other variables..?
Yes, right
RGS
RGS
That has the interesting side-effect that quads get highlighted differently :P
Oh nvm, what I just said is wrong.
It is getting a special highlight because of the "Name.Variable.Global" rule, which looks weird as hell.
Right, doing a full rebuild of my jupyterbook to see if there are any remaining odd artefacts
17:20
@dzaima I love the comment there, 'I will pretend for a moment that I carefully reviewed your code change, double-checked the primitive functions against the latest APL dialect, and came to the conclusion that your changes are correct and valid. Thanks for the contribution!'
RGS
RGS
@rak1507 A little pearl from the world of open source.
what on earth are ⌸⍯↗
oops copied too many, but the last two, what are they from?
(I have to say, I've always wanted a ↗ which does a diagonal take forming a square matrix)
@Marshall will BQN support symbols?
@dzaima will BQN have true lexical scope? Closures? Partial application?
What about function arrays?
bqn has function arrays
@rak1507 I don't think is used anywhere. is "throw error" in ngn/apl iirc
17:23
ah
@nathanrogers There's not much reason for symbols imo. It already has lexical scope & closures, and the 2-argument limit means and are enough for partial application
I find symbolic programming to be equally as necessary as array notation, and I miss either when I'm without one or the other or both
getting lb style autocomplete on vscode is pain
@nathanrogers (and functions are first-class objects in BQN, just like k (of course also with closures/lexical scope))
@nathanrogers what do you mean by "symbolic programming"?
In computer programming, symbolic programming is a programming paradigm in which the program can manipulate its own formulas and program components as if they were plain data.Through symbolic programming, complex processes can be developed that build other more intricate processes by combining smaller units of logic or functionality. Thus, such programs can effectively modify themselves and appear to "learn", which makes them better suited for applications such as artificial intelligence, expert systems, natural language processing, and computer games. Languages that support symbolic programming...
Mathematica/Lisp/Scheme/K
17:27
@nathanrogers k isn't a symbolic programming language
@RGS that seems to have fixed my issues. Only thing left is that boxes render a bit sub-optimally.
i'm literally doing it right now
@dzaima you can get the AST of something in K (ngn/k at least)
@rak1507 you can also get the bytecode of a class in Java, so pretty much every statically-parseable language would have symbolic programming
sure
17:29
right but just like array notation
providing a literal notation for symbols is a useful tool
@nathanrogers you mean k's `name? that's literally just a scalar string, nothing else
until (.`name)
it means I can define a function once and use it in a variety of contexts
github.com/razetime/bqn-vscode BQN snippets and base language configuration and file association complete. (Now to figure out how to expand things automagically)
RGS
RGS
@xpqz Isn't that fixed with some CSS?
@xpqz Feel free to PR and I'll go and comment and say that PR is helpful for me as well.
@nathanrogers still wouldn't call that symbolic programming. It's just ⍎'name' with better syntax (and also ability to assign sanely i guess, but that's been proposed for Dyalog too). Worse yet, that uses dynamic scoping :P
17:33
@dzaima so the moral is, we need a more lispy k?
(is there a k that supports macros?)
@dzaima it doesn't use dynamic scoping, it simply late binds a name to its value, where the name is what it is in whatever context
@nathanrogers that was mostly a joke, but it shows that the symbol has no relation to any actual variable until .
this is an inversion of dyanmic scoping
@dzaima right, just like a macro written in lisp doesn't have any relationship to any meaning until the macro is called
ngn
ngn
@dzaima +1. "homoiconic" and "has a symbol type" - yes. "symbolic programming" in the sense of mathematica etc - maybe not.
oh wait, .`a only resolves the global a variable, i forgot. well, ignore my mentioning of dynamic scoping, it uses just global scope
17:36
you could just as well say that lisp macros are nothing but ⍎'aplcode template'
ngn
ngn
everything is 01 and +× :)
See if they take it
@RGS I took your CSS, but it's not 100% for me (box -s=max)
RGS
RGS
@xpqz You mean MDAPL's? The one I currently have also needs some tweaking.
@RGS yeah
The acronym MDAPL always sounds like a designer drug to me.
RGS
RGS
@xpqz Do you spell it out in your head? In my head I say "mad apple" and I just find that very amusing.
17:48
I spell it out
@nathanrogers I don't plan to support symbols, and BQN isn't designed to do any sort of meta-programming. Functions describe computations and can easily be written, passed around, and applied. For example see the document on implementing control structures.
@RGS ^^ that's what I get using the MDMAPL CSS
and playing a bit with the numbers.
RGS
RGS
I am terrible with CSS but it feels like the line-height is too short? It also feels like the font being used isn't monospaced – that would explain the misalignment in the bottom right corner of both boxes.
Yeah, CSS is an annyoing dark art
RGS
RGS
@xpqz They just gave you homework 😂 Don't worry, I can do that for you if you want, just won't do it right now.
17:57
I remade the mappings, but tests will have to wait. Weekend starts here.
RGS
RGS
Enjoy your weekend :)
<Wezl> Is the bot still broken?
Wezl: I see your comment; do you see mine?
<dzaima[m]> yep. Still only works one way - never reads from the SE room
i believe the bot left on the irc side
18:06
@user41805 it doesn't ⋄'evaluate' either, so it's definitely a problem of not reading from SE
<Wezl> I suppose I shouldn't feel entitled to it
18:30
jsoftware.com/papers/amuse-bouches.htm - what is this x⍳x thing here? why does it (supposedly) help?
<loke[m]> shapr: Well, I wrote the GNU APL mode for Emacs.
@KamilaSzewczyk It allows you to perform computations on numbers rather than arbitrary data. Roger's generally moved to advocating self-classify which does the same but has the advantage of fixing up some tolerant comparison issues; in APL it's written ∪⍳⊢.
<Wezl> you privileged matrix folks and your logs
<loke[m]> I run my own matrix server
<Wezl> respect +← 1
<Wezl> user41805: no, it's still here, but not doing anything
19:04
ono ChatExchange crashed and broke my matrix bridge D: seems that problem will just exist until i rewrite the whole SE interface
<shapr> loke[m]: yay!
<shapr> loke[m]: does it have an input mode like swedish-postfix?
<shapr> Jag hoppas det finnas, eller
is the bot only picking up a few things?
@dzaima oh, in fact it broke exactly the same way as the IRC bot has - I'm writing this from my Matrix client, it appears in SE, but I don't see new messages from SE
@rak1507 I think loke's replying to this.
<loke[m]> Yes. You can enable it with M-\ and choose APL-Z
19:06
@Marshall ah
<shapr> jaså, tack!
<loke[m]> I made a video many years ago. youtu.be/yP4A5CKITnM
<shapr> ser ut bra!
@dzaima restarting is always an option, but since it doesn't throw any python errors (i guess i could parse stderr, but i already use it for logging) that has to be done manually. (but a manual restart currently requires restarting the whole thing, which clears the message map which is only in memory, meaning replies to older messages won't work correctly)
<shapr> har du Patreon också?
<shapr> finns det #apl.se ? :-D
jsoftware.com/papers/KEIQA.htm#Maple this anecdote is the perfect example of APLers superiority complexes
the idea that someone couldn't figure out how to find how many numbers in a list are over 100 is ridiculous
19:48
> How do you find the number of elements of a vector that are greater than a hundred
not "can you find me how many elements in this vector are 100"
same thing
"can you find me the longest run of consecutive integers in this vector" vs how do you do that (as in: explain to the computer) are two different questions with different levels of complexity
well yeah obviously the question would be how do you do that with code
but I don't believe that people were not able to do that like the anecdote claims
ngn
ngn
@rak1507 who knows. those "young people staffing the booth" might not have been programmers at all or in those "few minutes" they might have been busy with something else.
Maybe so, even so the point of that anecdote is clearly 'apl is better than everything else' which is just not true
20:05
It's also a big jump from "APL was manifestly better than a moderately obscure CAS in the year 2000" to "APL is always better", but APLers sure seem inclined to follow that logic.
ngn
ngn
so the image for how apl sees apl was right :)
2
@ngn Been thinking there should be a BQN extension available for this table. BQN obviously sees itself as the alien from Alien; from APL's perspective it's probably more like E.T.. For K, Jabba the Hutt?
ngn
ngn
20:21
@Marshall jabba - haha, maybe, but it needs to be more rectangular and have boxes, and ideally strange symbols in the same picture
.. and trimmed from the right, the way bqn chars appear in a terminal by default :)
@ngn Oh, like the chinese in j→apl. I hadn't noticed that. Nice.
ngn
ngn
@Marshall also k→j, not only fat clown, but fat clown with .-s and :-s :)
@Marshall what would be bqn→k?
@ngn My opinion of K is not negative enough! I guess I see it as kind of limited or cramped, maybe like a mime in a small (imaginary) box.
@ngn source?
ngn
ngn
@Marshall i was expecting something like a drunk football hooligan shouting abuse at everybody else :)
@Wezl own work
20:33
@ngn Whitney at least is far too quiet about it.
ngn
ngn
@Marshall very true
A good inverse-alien would be to make APL an early hominid or other human predecessor, but I'm not sure this works for J and K.
could also add an "Everyone else" category
I thought about that but I don't think there'd be enough difference between how does [a language] see everyone else
@ngn much to my chagrin that symbol resolution point is moot
20:37
@Marshall APL - neanderthal?
@ngn Or a unicycler. Admirably simple form of transport; faster than walking; still not the best way to get around.
21:02
@nathanrogers &prolog
21:44
jsoftware.com/papers/KEIQA.htm#Clinton I think this is about a different ken iverson...
 
2 hours later…
23:44
CMC: Find an array oriented way to solve this "iteration game"
I don't know what this is, and someone asked me what is an idiomatic way to write this in APL, and I don't really know what an iteration game is, thought maybe I'd toss it to someone here who might actually know what that is
The optimization puzzle so far as I understand it is get to f0>= 1000 in the fewest moves
https://chat.stackexchange.com/transcript/message/57323387#57323387

UPDATE: Incremental game, not iteration game.
@nathanrogers (fwiw, you can reply to yourself by manually copying the message ID from the URL and writing :1234, or by using a userscript)

« first day (1507 days earlier)      last day (1444 days later) »