« first day (1478 days earlier)      last day (1476 days later) » 

00:03
⍥ is called 'circle dieresis' not 'circle diaeresis' in the language bar, this is the most important bug ever! needs urgent fixing :P
help.dyalog.com/18.0/Content/Language/Symbols/… oh it's called that in the docs too
<moon-child> oed says dieresis is an alternate spelling of diæresis
all the rest are ae and it also uses ae on those docs
 
5 hours later…
05:37
@rak1507 Actually, the docs are all over the place, including the completely wrong, but etymologically intriguing, Diaresis. Anyway, logged as issue 18852.
 
2 hours later…
07:39
@Marshall Why is there a line between 10 and '*' in the explanation for 10∾˜⊸⥊'*'?
 
1 hour later…
09:03
@Adám it's a junction of function application, pointing to the two args, and the function itself
@dzaima Ah, I see.
09:17
Does the rank glyph sit on the J key because it was adopted from J, or is that a coincidence? Anyway, it makes it easy to remember.
@xpqz probably the much simpler reason: it's a modified , which is already on J for Jot
@xpqz Definitely not. Many other things were adopted from J too. Reason is ^
 
4 hours later…
13:02
@Marshall testing with non-local vars using LOCM/LOCO, old filter got 0.6s→0.4s but new stayed at 0.6s ¯\_(ツ)_/¯
@dzaima That's really strange. The new filter definitely has more of both kinds of instructions than the new one, right?
i'm sure i tested it properly, multiple times, but now the new one is giving 0.25s :|
13:18
@dzaima How about this version? It's much faster with current dzaima/BQN.
b1←b0←a2←a1←a0←0 ⋄ coeff←∾𝕨
{ b1↩+´coeff×⟨a0↩a1,a1↩a2,a2↩𝕩,b0,b0↩b1⟩ }¨ 𝕩
@dzaima oh right, i did fix multiple bodies not keeping variables in between. Didn't think it should change performance of working code though
@Marshall .46→.2s
@dzaima I guess if you know the exact code you were testing you could see if removing the first two bodies makes a difference, since those are the ones that share variables with it. Probably not worth tracking down though.
@dzaima ah wait, it was compiling all bodies for the last bodies variables, so the i_/o_ variables weren't available at compilation so it fell back to VAR_
pushed
@dzaima One of the filter-heavy scripts is almost twice as fast now (including the faster filter code above), so that's pretty good.
kinda surprised getting rid of the recursive hashmap string search wasn't a 10x improvement but ¯\_(ツ)_/¯
13:34
About 60x slower than native C now, which is not awful.
About half as fast as J for the entire script. 3.5s where 1s is writing the file; J takes about 0.2s to write. Serializing ints in software is only going to be so fast.
13:53
The first case can be written 1↓ (×⟜o0+i0⊸×)` 0∾𝕩, which is much faster. Only affects 1-pole low-pass filters, but for the file I'm testing it cuts about 0.5s.
And that's a reminder that I should probably add dyadic scan so it would be 0 (×⟜o0+i0⊸×)` 𝕩 instead.
 
2 hours later…
16:06
observes the emptiness of the room without his presence
CMC: Find an efficient way to join a string on a character like ,/(,∘'᳢')¨
efficient short or fast
@Wezl (^^^ that's the combining tofu character)
fast, but short is good
short something like 1↓∊'-',¨'abcdef'
16:08
wait, are t-shorts a thing?
lol
idk if this is any faster but {1↓,⍉⍺⍪⍉⍪⍵} is fun
oh that can just be {1↓,⍺,⍪⍵}
@Wezl you use k
{⊃(⊣,⍺,⊢)/⍵}
@dzaima nice
I''m just kind of a little bit addicted to combining characters now
16:25
is there a ⎕ equivalent of )reset?
@rak1507 What do you actually want to do?
No idea, I'm just the messenger
(someone asked that in the baa meeting)
If you just immediately want to stop execution, not just of this function, but of its caller etc. just do
Works in dfns too, even though they don't have →label or →linenumber
cool
16:52
how do you do multiline input in tryapl? (or can you?)
@rak1507 Not yet. Coming. Everything should work with diamond, though.
I think the question was tradfns (insert nauseated face here)
17:40
@Wezl Expand should be fairly fast on a long string.
Another fast option using Grade. Requires Over.
Derp, {¯1↓,⍵,[⎕IO+0.5]⍺} is much faster than either of those.
17:55
anyone come across any issues where APL characters type twice on web pages?
@Marshall Looks like ,⍤0 performs about the same as ,[⎕IO+0.5]. I had assumed it would have more overhead.
@rak1507 Probably too late now, but ⎕FX'r←foo' 'r←?10' should work.
I think someone mentioned ⎕FX at the time
@rak1507 I've heard it happen with Dyalog's Windows IME in Office applications.
interesting
18:09
@dzaima I think I'll change BQN's Replicate and Rotate to automatically enclose an atom right argument on the grounds that this is pretty silly. Any objections?
Also looking at adding a left argument to Scan. I could extend 𝕨 to the shape of ⊏𝕩 by prefix agreement, but I think I'll be conservative and just require it to match exactly. I think this makes it so dyadic 𝔽`⁼ is »𝔽⁼¨⊢, which is very elegant.
18:24
@Marshall seems not bad (though rather pointless). /// behaving similarly makes sense, and / too ( is pretty unrelated though)
@dzaima 's not in the same class of functions, but it's a little evidence that array functions that do nothing still enclose scalars.
⍉0 vs ⟨⟩⍉0, vs ⌽0 vs ⟨⟩⌽0 is fun
@dzaima Was just going to bring up ⍉0. That one I'm a little conflicted about. ⌽0 is an error per the spec.
is interesting since it's the only monad that manipulates multiple axes: the others all change, add, or remove exactly one, except and which don't care about axes at all.
Eh, regardless of whether @≡⍉@ makes sense on its own, it would be better to align it with other primitives.
Making Transpose enclose atoms means it's no longer invertible for all arguments. Still worth it, I think.
 
1 hour later…
20:00
@dzaima Spec, tests, and runtime have been updated. Dyadic scan needs to be provided by the runtime, so test/dz_comp -rt prim will fail until dzaima/BQN adds support.
 
1 hour later…
21:29
@Marshall pushed dyadic scan
@dzaima Looks good. Error message for monadic undo such as +`⁼4 has ´ instead of `, although it did before too.
@Marshall oh
 
1 hour later…
22:40
Q: Does someone have a link to "APL C"? It was mentioned in the British APL Webinar and googling yields no results
Hi all, excited to join the chat
@user1543385 Hi Lukas. Your user name and avatar will appear normal after you chat a bit.
@code_report Never heard of it. What was the context?
it's mentioned on this website beauwebber.me.uk/jbww.html but the link seems not to load
@Adám Thanks!
(home.earthlink.net/%7Eswsirlin/aplcc.html)
22:42
mmm, an apl compiler that does "loop/algorithm" fusion
@code_report Something else: Did you get my email about presenting at "APL Seeds"?
no problem
if there's a more updated version it's probably worthwhile emailing him
@Adám ah yes i did, i was up actually (post superbowl) when i received but it was 2:30 AM, i starred the email but totally forgot about it
will respond now (ty for the reminder)
22:46
Thanks.
btw not sure if you saw but have you seen this? github.com/Bubbler-4/dyalog-apl-gitpod @code_report allows you to run RIDE in the browser
@rak1507 looks cool, but it is asking me to login with github
oh right
which is a barrier to entry
yeah
have you seen this too? janiczek.github.io/tryapl-elm
22:50
(not complaining just saying the ideal onboarding experience for ppl coming to the language should require any downloads or logins
@rak1507 i had seen the github repo but not this webpage for running it
pretty awesome
yeah
That is now:
APL in LISP
APL in Elm
APL in Julia
APL (Ivy) in Go
APL in Smalltalk (I am working on this)
People keep saying that Martin's TryAPL is so superior to Dyalog's, but can someone explain to me why that is?
@code_report No no, he hasn't implemented APL in Elm, it is just an alternative TryAPL frontend written in Elm.
22:53
@Adám docs on the side, completions on the side, looks 1000 times better (although that's not such an issue)
well definitely the
"docs" view is way better
yea the "tooltip" on the APL characters is barely readable and the font is so small
and you have to pause above it for a bit
which is a minor thing but still annoying
@code_report See this list.
OK, so we should replace the browser's default tooltips (title attribute) with some HTML ones?
@Adám ooh i had not seen this list. this is great!
@code_report Was answering this question last week and decided that browsing implementations is entirely too much work.
23:09
> browsing implementations
@Marshall what do you mean by that?
@Marshall I think the article uses the term "open source" to mean "free open source", but Richard Stallman argues the obvious meaning of term "open source" is that the source code is public/accessible for inspection, without necessarily any other rights granted. The source code for APL\360 is potentially interesting. Should it be on the list despite being non-free open source?
@code_report Going through source code. In this case to see if there are test cases, but you might also want to look at how a primitive is implemented or something like that.
@Adám I think someone who wants to check the APL\360 source will end up on its page instead of the list, so on a purely pragmatic basis it's better not to have it. But there are some projects that would be more relevant to a modern implementation like @ktye's that I didn't add because they don't have a license indicating permission to copy the source.
Why not expand the scope of the list to all open source, whether free or restricted (copyleft or otherwise)?
Can't find it now but there was one that said in the description it was in the public domain, but I don't think that's likely to actually be binding.
@Marshall That what was in PD?
23:24
@Adám I think it was just the language: "... is an array language that ... and is in the public domain" or something like that.
That APL is in the PD? That makes no sense to me.
@Adám Well, it had its own name.
@Adám Most people are probably looking for code they can actually use, but I guess you could argue that it's easy to just avoid things with "none" under the license.
You lost me. Are you trying to find out the name of some implementation?
@Adám Is this stuff legal?
Some of it was contributed by the author.
23:32
@Adám Oh, it's xs.
I see. So a derivative of K… APL twice removed?
@Adám If it's a commercial APL then often the company will be the author for legal purposes and not the person who wrote it, so I'm not sure this really works.
@Marshall I didn't claim it was legal. Just an anecdote.
@Adám Well, while the violation of copyright law on the part of an individual would surely show poor moral fiber, linking to material with unclear copyright has some extra problems because it's more visible. There's some danger that a company would go after the APL Wiki, but it could also draw unwanted attention to the Computer History Museum. I guess you weren't really suggesting linking to those but just pointing out that with the APL Wiki we should be extra careful.
23:48
@Marshall I love how you go out of the way to assume good intentions on my behalf. Thank you. (I've on occasion had to deal with people that did the opposite.)
@Adám I should clarify that when I said "linking" I meant on APL Wiki pages. No need for excessive diligence on forum posts of course.
@Marshall Right, I got that. By forum, I assume you mean like in this chat?
@Adám APL Wiki is surprisingly prominent online, and getting more popular, so it's sort of a special case. Do whatever you'd normally do otherwise.

« first day (1478 days earlier)      last day (1476 days later) »