« first day (2250 days earlier)      last day (411 days later) » 

1:16 AM
@Adám With behind, any better way to write your {u≡⍋⍋u←∪⍵} then as (⍋∘⍋⍛≡⍤∪⊢) ?
Or is that the best you can do given the (behind unique) gives you an atop
 
 
3 hours later…
4:30 AM
 LENGTH ERROR
       a b/⍨←⍬
          ∧
I'm not understanding something :|
Wait... Somehow I got confused, thinking that ⍬/1 2 3 worked.
 
 
2 hours later…
6:42 AM
what does mapl stand for in the Dyalog installation?
 
 
7 hours later…
2:09 PM
I have many rows of character vectors that look like this: "12/02/2022 11 23 54 22 6" - I've been trying to figure out how to turn these into many rows of 6-element vectors instead. I've tried the APLCart, searched the manuals, etc.. This should be easy right?
 
@cube.head Does this give what you want? (⊢⊂⍨1,' '∘=)'12/02/2022 11 23 54 22 6'
If you don't like the trailing spaces, one way to strip them is like this: (' '~⍨¨⊢⊂⍨1,' '∘=).
 
@B.Wilson or just (' '∘≠⊆⊢)
 
@RubenVerg Uhhhh. That's way better! :D
@cube.head If you're doing actual calculations on the data or whatever, then I'd argue that turning this into an 8-vector of numbers is perhaps more convenient: (⍎¨~⍤∊∘' /'⊆⊢).
 
2:29 PM
Thanks.. I'm not sure I'd ever get this
ChatGPT explains that expression this way:
' '∘≠⊆⊢ applies the ⊆ function to the input vector with the boolean vector generated by ' '∘≠ as the right argument, resulting in a vector of substrings split on the space characters.
does that sound accurate?
 
yup
 
Yeah, though that's mostly just an explanation of how forks work. The key is really in how Partition (i.e. ) works.
 
hoo boy. Please tell me that we all start out this confused :-)
thank you again guys
 
@cube.head You're in very good company :D
If you want a more details breakdown of the previous code, or if you just want pointers to specific reading materials or whatever, let us know!
 
@B.Wilson thanks.. I will study and experiment on just this expression for a while
 
2:43 PM
" have many rows". For any sizeable value of many, partitioning each is not going to work well.
Let alone an execute each inside a partition each. Look at ⎕VFI.
 
       a←1e6⍴⊂'12/02/2022 11 23 54 22 6'
       cmpx 'z←('' ''∘≠⊆⊢)¨a'
 3.9E¯1
 
@PaulMansour Will do, thank you
 
@cube.head The above shows ('' ''∘≠⊆⊢) running in half a second on a million records. That's pretty reasonable for government work.
 
@B.Wilson Yes, I have no more than 15k rows - I guess I should have defined "many" :-) ... VFI is interesting though.
 
2:58 PM
Yeah, just starting out, I wouldn't overload too much on a billion different concepts. My pedagogical advice, FWIW, is to stick with learning the primitives for now.
 
If you have clean data, you don't even need ⎕VFI, just replace the slashes with blanks, ravel, execute, and reshape.
No each, no nesting.
 
3:13 PM
@PaulMansour I like the way you think! Do you have much experience ingesting "large quantities" of data?
Somewhat related, I've been wondering how to ingest stream data in Dyalog, given a pipe or socket or whatever.
 
@PaulMansour Those things at column 1 of each row are dates
 
@cube.head That's fine if you always know that the first 3 numbers specify a date.
 
4:05 PM
Is there a functional difference between Disclose and ⍬⍴?
 
 
2 hours later…
6:26 PM
@cube.head Yes, I assumed the whole text vector is a time-string with hours, minutes, etc.
@B.Wilson "large" being up to about 100 million rows or items. Not in the billions.
 
 
2 hours later…
8:09 PM
@Silas That'd be it.
@B.Wilson Yes, he's lead dev of a db product for "massive amounts of data analysis" implemented in Dyalog APL.
@B.Wilson You should be able to tie it and read chunks.
@B.Wilson Yes, discloses the first element. ⍬⍴ returns it enclosed.
 

« first day (2250 days earlier)      last day (411 days later) »