« first day (813 days earlier)      last day (1827 days later) » 

12:33 PM
@Ven
┌──────┐
│abcdef│
└──────┘
 
Ven
⎕←{(1+1≠⍳⍴⍵)⊆⍵}'abcdef'
 
@Ven
┌─┬─────┐
│a│bcdef│
└─┴─────┘
 
Ven
Not sure how to get a better "partition at" :)
 
Ven
12:49 PM
Seems like I broke TryAPL again :-(. Or maybe it's under maintenance.
 
@Ven Nope, not today. It was down for a minute a few days ago.
 
Ven
maybe I killed my session then
...yep seems like it.
 
@Ven I'd really like to figure out what goes wrong.
@Ven You mean you want to start a new partition at to the left of the given indices?
 
Ven
@Adám Well, me too :-)
 
@Ven I'm fantasising about making a TIO-based TryAPL.
 
Ven
12:59 PM
@Adám 1 Unable to open session file " /MiServer/ServerData/TAS000095.dcf"
@Adám I want to get the first index into a variable, and keep working on the rest, in an ideal world
 
@Ven I'm not sure I understand. You want two pieces; one is the first element and the other is everything else?
⎕←(⊃,∘⊂1∘↓) 'abcdef'
 
@Adám
┌─┬─────┐
│a│bcdef│
└─┴─────┘
 
⎕←1(↑,∘⊂↓)'abcdef'
 
@Adám
┌─┬─────┐
│a│bcdef│
└─┴─────┘
 
#tio apl-dyalog-extended ⎕←1(↑⍮↓)'abcdef'
 
1:04 PM
@Adám
 a  bcdef
 
Ven
@Adám yes
though it'd be even nicer if I just had the rest, and the first element were in a variable
 
@Ven What does "I had" mean? { more code ⊃_ v←1(↓⍮↑)⍵} 'abcdef'
 
Ven
⎕←a b←(⊃,∘⊂1∘↓)1 2 3 4⋄a++/b
 
@Ven
┌─┬─────┐
│1│2 3 4│
└─┴─────┘
 
⋄ a b←(⊃,∘⊂1∘↓)1 2 3 4 ⋄ ⎕←a++/b
 
1:14 PM
@Adám
10
 
Ven
I suppose calling my fn with 'a'{...}'bcdef' works too.
 
@Ven Yeah, which means you can split and do {...}/
 
Ven
Yeah, I was thinking about that
That's much longer than {t[1]++/1↓t←...} though
 
@Ven Yes, or even ⊃+1⊥1↓
 
Ven
For the Extended version, I'm not sure what {⍵ ⋄ ⍺⍺} does
 
1:19 PM
@Ven Nothing.
 
Ven
ahh. It just needs ⍺⍺ to be registered as an operator?
 
@Ven Yes. Exactly, as it needs to "consume" the on its left to prevent the result from being doubly enclosed.
 
Ven
I understand now.
@Adám my case has a lot more code between the use of the first index and the rest though, so I'm unsure this one is applicable
but the Extended version might be very different
 
@Ven OK, but for simple numeric vectors, you can save a byte with ⊃t+ instead of t[1]+
 
Ven
in my case though, that'd be parsed as ⊃(t+rest of my code), not ⊃t+(rest of my code).
 
1:23 PM
@Ven I've used this a few places. Most clearly, you can see it in "Over": ⍥←{⍺←{⍵ ⍺⍺} ⋄ (⍵⍵ ⍺) ⍺⍺ (⍵⍵ ⍵)} and is simply ,⍥⊂
 
Ven
Hah, yes, I see it :-).
 
@Ven And? The result is the same (thought the interpreter has to do more work), unless the first + is really a ÷ and the sum can be 0, etc.
 
Ven
It's not a numeric vector is what I meant
Oh, wait, it should actually work.
 
 
2 hours later…
3:50 PM
heh. with the new tokenizing system that still hasn't been pulled to tio, even f←{1.2.3.4} is an immediate error
 
Ven
@Adám btw, has Extended made the rounds at Dyalog? What's the general opinion?
Some of those are very golfing-oriented for sure, some others... not as much
 
Ven
4:06 PM
@ngn Funny enough, I got 52
Wait, 51 using ⍨. Now I need to make sure it actually works
⎕←{x⌷⍨⊃i+4ׯ2+⌊1.8⊥⍋1↓i←⍵⍳⍨x←,⍉'CDHS'∘.,2↓⎕D,'TJQKA'}'C3' 'S6' 'H3' 'H9'
 
@Ven
┌──┐
│CQ│
└──┘
 
Ven
I obviously forgot IO=0, but...
 
ngn
4:43 PM
@Ven that returns an enclosed result
other than that it's nearly identical to mine :)
 
Ven
quad+UCS is too long to save us bytes on strings, I think.
 
ngn
yours fails on the last 2 tests: 'SQ' 'S4' 'S3' 'ST' -> 'S2' and 'HA' 'CA' 'DA' 'SA' -> 'H2'
squad () indexes out of bounds
@Ven tip
@Ven if you fix the indexing with the above tip, you could get to 51 with another trick - try playing with +/- in this part: i+4ׯ2+⌊1.8⊥...
 
5:34 PM
@Ven I actually don't know if anyone has taken a look at the system as a whole. Marshall has taken up the crusade for some of my operators, and the reception has been fairly good. f⍤g and f⍥g are scheduled for 18.0, with and for 18.0+1. The extension of dyadic is in 17.1 and I'm hoping to get the extension of the monadic soon too. @nathanrogers mentioned my extension of at his interview with all the Dyalog staff (yes, we did hire him) and we've been discussing it since.
 
@Adám with ¯1 or ?
 
@dzaima Under discussion. is neater but inconsistent depth, ¯1 allows specification of what happens if there is a remainder. Have a look. However, ¯1 also prevents ever using negative lengths to fill that dimension in reverse.
@dzaima Hey, I just got an idea, but I don't have time to explain it now
 
"I have a truly marvelous demonstration of this proposition which this margin is too narrow to contain"
 
6:01 PM
about ¯1 for (or really any constant) I don't feel like it's worth it using a finite portion of an "infinite" domain. a character may be usable, but again, feels kind of strange. infinity/NaN (if those existed) feel inconsistent and could lead to other problems. if k-style symbols existed, maybe a symbol? about , would there be any practical way to extend to allow taking a vector of vectors as that'd conflict?
again returns the idea - should i add symbols to my apl
 
6:31 PM
yay tabs (yes i'm lazy and that's recorded using a normal keyboard)
what next - i could just straight up connect using the RIDE protocol but that'd require actually doing fancy stuff
 
 
3 hours later…
9:10 PM
@dzaima Whoa, that's pretty cool.
@dzaima You mean you want your front-end to run Dyalog? Remind me why we shouldn't hire you to create a GUI for Dyalog on Android (the interpreter runs already).
 
9:46 PM
@Adám well, making a nice APL android app is the goal of the thing; again, school, and i like not having to do much more currently
 
10:29 PM
@dzaima If you can show Dyalog that you've made a viable frontend, we'll probably help you hook it up to an interpreter for Android.
 
 
1 hour later…
11:58 PM
Naive idea for the day - has anyone looked at adding a "filter" primitive to Dyalog? Something like {⍵/⍨⍺⍺⍵}
I was thinking it might be too short to be useful, but considering that monadic is just {⍵/⍳≢⍵} ...
 

« first day (813 days earlier)      last day (1827 days later) »