« first day (1619 days earlier)      last day (1038 days later) » 

2:57 AM
@Adám Would it be alright to add a K pages for its primitives, various implementations and dialects to the apl wiki?
 
 
3 hours later…
6:11 AM
@Razetime Not sure what you have in mind. There's already a K page that lists primitives, and several implementations have their own pages. Feel free to add more implementation-specific pages, and expand the main K page.
 
sure.
I was thinking of adding pages for all K implmentations
pages for each K primitive
each K dialect
so on
adding something similar to this: ngn.bitbucket.io/k.html
 
6:27 AM
@Razetime That table is linked from the main K page, but incorporating it would be fine.
 
neat
I'll try doing a page a day
 
@Razetime That's beyond the scope, except when needed for comparison with other APL primitives, e.g. apl.wiki/Cut_(K).
@Razetime That's fine.
 
hmm
 
 
2 hours later…
8:34 AM
One of you in here is a bit of a Raku person no?
 
@RikedyP @ab5tract and @Moonchild, I think
 
9:00 AM
I use raku as well
 
@Razetime Do you have any particular thoughts on "Raku vs APL"? Or what is the Raku way in contrast?
And also do you find the text processing, grammars and meta-programming useful in ways that you really wouldn't know how to do it as nicely in APL?
 
Raku's entire philosophy is being a more planned Perl with better libraries and a ton more functions
it's huge and sort of effective and it has lots and lots of syntax noise
 
@Razetime Yeah I see one thing they have in common is "code the way you feel" rather than python's "there's 1 good way to do that" kind of feeling
 
If I want most of my work done for me and I want nice errors and nice documentation I would always go for rakudo
If I want to do something interesting and improve my understanding of an algorithm I'd use APL or an APL-family language
 
Indeed seems to come back to this and I phrase it as: APL is now a highly technical solution where it used to be a non-technical solution
 
9:06 AM
Raku's extensibility is really great for code-heavy projects
yeah that makes sense
 
When you say code-heavy, is this like lots of system/high level program management, system interactions and other computer-specific thingies?
 
hm
I'd say it's more of having things to easily extend upon, a good OOP model
 
Oh ok I can get where you're coming from
@Razetime Can I quote you for these two?
There's a fair chance I won't use the quote, but just in case :P
 
sure, CC0
APl isn't great at system specific things but it can definitely get there when those things get standardized
 
Thanks a lot - I've wanted to find some time to learn Raku for a while now but haven't had the chance really yet
 
10:01 AM
also >/80 50∨⎕ works
 
WIBNI worked on arbitrary simple numeric arrays
⎕←(≥⌿⍤⊖4 25 4⊤⊢)2 3 4⍴2000+⍳50
 
@RikedyP
1 1 1 0
1 1 1 0
1 1 1 0

1 1 1 0
1 1 1 0
1 1 1 0
 
And of course imho it ought to have some advantage in either clarity or speed over the existing entry: aplcart.info/?q=leap%20year#
 
10:22 AM
cool!
 
 
1 hour later…
11:40 AM
@RikedyP @Razetime Maybe it should be updated to 0⎕DT,∘2 29¨
 
huh, what is that doing
 
@11Kilobytes Hi. Interested in APL?
 
Yes to a large extent. Have been interested in it for a year by now.
Tried to do the 2020 challenge but life got in the way.
The thing I found really impressive what Hsu's thesis though @Adám.
 
(Oh, sorry, I didn't realise we had spoken before.)
 
@11Kilobytes still a month to do it
 
11:44 AM
If you want to do a custom memoisation scheme, do you have to use 1500 ⌶ or can you just use keys∘⍳ etc. repeatedly?
 
@11Kilobytes Either works.
 
@Adám An idea that Aaron touts a lot is the cross-pollination of APL constructs across seemingly disparate domains - a flip-side to that might be the way you can express certain ideas in multiple ways. It might be an idea to do some project which has these different expressions for the same thing along with explanations as some big Jupyter book or something
To start with I'll just write these 3 leap-year thingies down and maybe make a repository over the weekend
 
I wonder how the performance compares.
 
@RikedyP tbh that just sounds like 'marketing', sure you can use primitives in different places but that's just bc the operation is normally so fundamental it's part of most algorithms anyway
 
@rak1507 It is marketing lol of course
@rak1507 I don't see this as an argument against what I've said tho
 
11:49 AM
yeah maybe
 
I mean that is the point of core APL - here are some primitives that are so fundamental you're going to use them everywhere
 
having a list of different expressions with explanations is a good idea regardless
 
This is the main contrast, right, that with python here is an endless bucket of libraries that you'll use one each for each specific domain but also it's just a call to a library that's actually written in C
 
⋄ ≥/⌽×4 25 4⊤2000
 
@Adám 0
 
11:51 AM
⋄ 0⎕DT⊂2000 2 29
 
@Adám 1
 
@Razetime APLcart favours correctness over brevity ^
 
it's not a correct solution?
 
It says 2000 wasn't a leap year.
 
oh wow
 
11:53 AM
lol 23 votes for something that doesn't even work
 
>/80 50∨⎕ is correct though, right
 
The description says that it gives 0 for leap year and 1 for not leap year
 
@RikedyP Oops. Sorry 'bout that.
 
I know it's confusing
 
lmaoooo
 
11:55 AM
oh
 
Is that flexibility in the problem statement (I didn't read it)? I know you'll lose 1 byte for adding a ~
 
yea generally boolean problems let you output two distinct things
 
@RikedyP Missing a ×?
 
@Adám Apparently - good spot
Not sure it's needed tho?
maybe it is
 
It is. Otherwise it fails on a few distinct cases, like 1904.
      y←?100 100⍴3000
      APLcart←0≠.=400 100 4∘.|⊢
      FUZxxl←{~≥⌿⊖×4 25 4⊤⍵}
      QuadDT←0⎕DT,∘2 29¨
      ]runtime -c APLcart⊢y FUZxxl⊢y QuadDT⊢y

  APLcart⊢y → 5.6E¯5 |     0% ⎕
  FUZxxl⊢y  → 1.2E¯4 |  +109% ⎕⎕⎕
  QuadDT⊢y  → 1.7E¯3 | +2893% ⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕
 
12:03 PM
@Adám Make sense
@Adám Well the results are in: APLcart entry survives another round :P
 
Other conclusion: ⎕DT could be faster.
Or maybe not; it has to create a gigantic pointer array.
 
Yeah ⎕DT is kind of powerful, so I wouldn't expect it to be the fastest
and it has to operate on nested arrays like you said
@rak1507 Is there a good name for this? I thought Glossary but not sure
 
not sure, that doesn't sound quite right but idk what it would be called
 
@Adám how well does {>/80 50∨⍵} do
 
it's an idiom dictionary but with broader scope and more explanations than aplcart
@Razetime probably not great with the ∨
 
12:07 PM
sad
 
@Razetime also needs an outer product to compare with the others
 
@Razetime Here:
      y←?10000⍴3000
      ]runtime -c APLcart⊢y "{>⌿80 50∘.∨⍵}y"

  APLcart⊢y      → 5.0E¯5 |    0% ⎕⎕⎕⎕⎕
  {>⌿80 50∘.∨⍵}y → 4.3E¯4 | +759% ⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕
 
lmao
extra slow
 
@Razetime Still beats ⎕DT
 
12:33 PM
Ouch, ⎕DT could be faster:
      y←?10000⍴3000
      z←229+10000×y
      ]runtime -c "APLcart ⌊z÷10000" "60 0 ⎕DT z"

  APLcart ⌊z÷10000 → 6.3E¯5 |     0%
  60 0 ⎕DT z       → 6.2E¯3 | +9781% ⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕⎕
 
1:05 PM
Announcement: Four weeks left of the APL problem solving competition!
 
 
6 hours later…
6:40 PM
can I somehow ⎕FIX something into a namespace?
 
@KamilaSzewczyk namespace.⎕FIX i guess?
 
oh, yeah.
 
 
5 hours later…
RGS
11:40 PM
@hyper-neutrino can I trouble you for help with smth?
Ah that's it; can we give @user1027871 write access for this chatroom?
(Maybe I should've included the profile link: chat.stackexchange.com/users/516689/user1027871 , sry about that)
 

« first day (1619 days earlier)      last day (1038 days later) »