« first day (728 days earlier)      last day (1927 days later) » 

8:08 AM
Hi all. The programming guide for oK mentions a 1970 paper by Philip Abrams that describes a lazily computed APL. Does anyone know whether further progress was made in that direction? github.com/JohnEarnest/ok/blob/gh-pages/docs/…
This memoir suggests little further work was done: infohost.nmt.edu/~shipman/write/memoirs/apl.html
 
8:26 AM
oh hey, looks like APL3000 did it
 
8:38 AM
Arbitrary item access order sounds tricky with respect to cache efficiency. You'd also have to adapt the data layout on disk in response to the types of queries you run on it
It sounds like it hits similar themes to the Haskell library @Bubbler mentioned here chat.stackexchange.com/transcript/message/48503353#48503353
 
9:14 AM
@chrispsn APL2000?
@chrispsn Dyalog is considering adding thunks.
 
 
1 hour later…
10:24 AM
@Adám Ah, thanks! I watched Marshall's full talk and loved it, but it slipped my mind this afternoon. Sounds like a different (complementary?) approach to the problem.
 
 
1 hour later…
12:06 PM
@Adám endorsed! Thunks are great
 
12:34 PM
Who would have thunk.
 
12:49 PM
By the way - with Excel getting dynamic arrays now and maybe nested arrays soon, a lot more APL-like functions are likely to appear in it... it's soon getting iota (range), filter, unique (distinct) - and apparently more are coming. microsoft.com/en-us/research/blog/…
I've thought for a while that Excel users could learn a lot from the APL community
 
@chrispsn Wouldn't it be nice if one could just use APL formulas in Excel, with all cell names and ranges working arrays and arrays of arrays?
 
@Adám leaving aside the characters, with the new functions it'll be pretty close - primitives already penetrate arrays
 
←+/A1:A5
←+⌿A:A
←+/7:7
 
How to access? INDEX(some_range, 0, 1) for first row
 
@chrispsn Why not as above?
 
12:56 PM
@Adám I just mean how it works now
 
It should "just work". If the first character in a cell is (rather than =) then it is evaluated as APL. Dreaming…
 
@Adám Ah that's an interesting idea
 
$ could be the name of the entire matrix, so $[2 3;4;5] would be the same as D2:E3. You should also be able to "dot" into a specific sheet, so "Sheet2"[1;2] would be Sheet2's B2.
1 1⍉$ is the diagonal…
@chrispsn Yeah, that's pretty APL'y.
 
@Adám I don't trust Microsoft to do that, but if we start talking Google Sheets, then I can start getting my hopes up
 
I need to make an APL or K version of Mesh Spreadsheet one of these days...
 
1:08 PM
@chrispsn just googled that, found your github page. I assume you're the dev/maintainer?
 
yep
still very much in alpha atm though
 
It looks cool though
Kudos on the dark theme by default :p
 
thanks :P
I dumped oK's source into a blank sheet - seems to work leaving aside look-through to the end JS object
 
@chrispsn hah, nice! Just need a JS implementation of APL now.
 
@ngn /apl is that, right?
I just pasted the contents of apl.js after the strict mode declaration in the sheet
 
1:33 PM
@chrispsn yeah I forgot ngn did JS as well
 
2:32 PM
@chrispsn Thanks for the link. Very interesting stuff. I do wonder though at how much they can pile on after powerpivot, DAX etc, and still have a coherent product.
 
 
2 hours later…
4:06 PM
Spreadsheet fun:
https://tio.run/##bZNBS@NAFMfv@RTvNilNts20eGhWQdgohdqD1ZN4CM1Yw8ZJyVTRPe5CtxVTKiKeBPUkXvagn2D9JvNF9L002kY6EB6T@b33/m/eG78f2cGZH8W9tzc9@gtKD6feiR@BckMXrZsI5arwl3ClEIErlQGSGD25bneYYgY0NuIEQmg0Jej0WacvUn1DilajeQAE7rZaevyA0dCRTvX5H50@6vPfYc6tywBRZ1WP7y1KTkunt6DCo34kClCNr@jxHUb9sQ2EEnYYH8U9IeNjVUAZw3hVVJSHJLR76Cd@dyASOBHdQZzMHDKnncTvQ3X@gxZWn2nW6QSDFM9QQ6e52V5vmfw7lod5kC5VsCyTeW0G9ZLJtoRSfk8wYNtCHUcDSHz5E8RpFy9TBMBZKVNFfxeUeJESy3RgaFRh4d2xBjCyqMHbIiVee9FfBlSMUXBPX4gfTv//43p46YBjzRTPKepwBjjlsPz1kGaAJCz297PHo8cKOa8RVBSetTt9mqXOZ2EJMbycEQ5Uy1mmixEFXEZe5WSx3ubBfG@aeS8wrBnaDtor8kU7/a
 
4:35 PM
@Adám ooooooooh I like how it automatically expands to accomodate the result of 2 2⍴⍳4
 
 
4 hours later…
8:45 PM
@PaulMansour Dynamic arrays not working as table columns is my biggest beef (although I don't have a solution for that either).
 
 
2 hours later…
10:27 PM
@Adám I have a quadna question
Or anyone else here who has thoughts on the subject
I'm currently trying to import and use a library written in C, but unfortunately there is lots of global state strewn about hither and thither. lots of #ifdefs
I might import function f, and inside of f is some reference to global state. If I were writing in C, simply importing the correct header I could say

MyGlobalVar = 'whatever';
but since all I can do with quadna is import a function, I can't say myVar←'whatever' because my function f from the C library doesn't see that variable
aside from dramatic overhauling of this library by redefining all functions to take a global state parameter, what options do I have?
are there alternatives to quadna that would be more suitable for such a conversion?
and I would like to avoid some kind of zombied apl interpreter inside C or something else like that at all costs
 

« first day (728 days earlier)      last day (1927 days later) »