« first day (2102 days earlier)      last day (555 days later) » 

1:23 AM
@xpqz Are there technical arguments against inverses? Documentation issues aside, they're just functions with a bit of metadata saying that they (mostly) compose to the identity. In particular, under is quite nice, I find.

Recently, I realized that `×⍨⍣¯1` is the same length as `*∘0.5` and does exactly what you would expect.
 
 
3 hours later…
4:23 AM
@B.Wilson If you want to write a multi-paragraph message with markdown, just send two consecutive messages and the chat system will merge them visually.
For example, this paragraph is connected to the previous one, but both render markdown correctly.
 
 
2 hours later…
6:37 AM
Thanks. Mixing and matching between 4 different chat clients, I'm still getting used to this one.
 
This one has some really quirky sides, but I've written up some tips at apl.wiki/APL_Orchard#Features
 
6:50 AM
@B.Wilson I’m not privy to the implementation details, but I’m pretty sure that many of the well-known inverses are as performant as the ‘forwards’. As to the square root, both those formulations are inferior to the actual √ as suggested by several APL variants, if the aim is clarity. In my opinion, of course.
Lack of discoverability is what puts me off their use.
 
@xpqz Totally. Something that functions like J's b. would be nice. That said, once you've discovered an inverse, then why not use it?
If you're reading code and find an unfamiliar inverse, it's not really all that opaque what's going on.
 
7:14 AM
Certain inverses (like the convert to binary, ⍸⍣¯1 and a few others) become recognisable after a while as phrases like any other, for sure.
I guess it's churlish to moan about magic under the hood, when the whole language is one big ball of under-hood magic :)
 
 
2 hours later…
9:34 AM
Hehe! Agreed about the magic. I guess that makes the Dyalog devs wizards?
 
10:58 AM
@B.Wilson You've seen JD's beard, right? Proper Gandalf.
 
 
2 hours later…
1:00 PM
Welcome to APL Quest 2016-9! Today's quest is Delimited Text:
> Write a function that takes a character vector as its right argument and one or more characters as its left argument, and splits the character vector on every occurrence of a character that appears in the left argument.
Note that consecutive delimiters cause empty segments.
There was an issue with the reference solution. But it is ok now.
So, we need to use rather than because the latter cannot create empty segments.
We can use to find delimiters, but we also need to make sure to include leading elements.
We can do so by prepending one delimiter.
 
1:19 PM
(1↓¨,⊂⍨⊣=,)
 
Fails on multiple delimiters.
Huh, missing test cases!
 
> one or more characters as its left argument
Good point!
 
@B.Wilson You can use my above tips to fix your solution.
 
Yeah, the braindead fix is {1↓¨s⊂⍨⍺∊⍨s←(⊃⍺),⍵}.
 
looks good to me
i just had a tacit equivalent
1↓¨,⍨∘⊃⍨(∊⊂⊣)⊣
 
1:34 PM
so there's no way to set up the partition vector so you don't require the 1↓¨? And is that just because of the empty partition requirement?
 
There's no way.
(Other than substituting with something equivalent.)
Fun extension: Make it use space as delimiter if no left arg is given.
Of course, you can do so with ⍺←, but you could also exploit the prototype.
 
@Adám Gah. You always have nice little optimizations over mine: (1↓¨⊣(∊⊂⊣)⍨⊢,⍨⊃⍤⊣).
Your ,⍨∘⊃⍨ is neat.
 
I ache for ⊃⍛,
 
Ah, yes. That's what we want to say!
 
notation as a tool of thought
Shall we call it a day?
See you next week for 2016-10: Order Total!
 
2:00 PM
@Adám Was perseverating on how to achieve this tacitly.
 
Go on, go on!
@B.Wilson Hint: Use ,∘⊃⍨
(You could use ,~∘⊃⍨ for fun too, i.e. monadic ⊃⍛,)
 
2:31 PM
Announcement: The first set of recordings from Dyalog '22 are now available. Watch (or rewatch!) the introductory talks and presentations from the winners of the 2022 APL Problem Solving Competition.
 
@Adám This is terrible: (1↓¨(,↑⍨1-⍤+⊢∘≢)(∊⊂⊣)((⊂,' '),⍨⊂⍤⊣)⊃⍤⌷⍨⊢≡,)
I am probably missing something simple.
 
It doesn't matter if the left argument has duplicates. ,∘⊃⍨'' gives a space.
 
Oh. ⎕←' '=⊃''
 
@B.Wilson 1
 
2:49 PM
Bah. I'm not seeing it.
 
3:02 PM
It'll for sure be awkward. Don't worry about it. I didn't have a tacit solution ready, and it was just an idea that struck me. Have a good weekend!
 
not quite sure whether this does it or not, but my stab at it is {⍵⊆⍨~⍵∊⍺}
empty segments as in ',:'f'Hello,:world' returning [[Hello], [], [world]]?
 
@Sʨɠɠan You can test this directly if you go to the quest link!
 
ah ty
 
 
1 hour later…
4:17 PM
ok 2nd iteration worked perfectly from 1st try: {⍺∘{(~⍵∊⍺)/⍵}¨⍵⊂⍨1,⍵∊⍺}
 

« first day (2102 days earlier)      last day (555 days later) »