« first day (2233 days earlier)      last day (437 days later) » 

12:16 AM
@Adám I guess you saw my face in the list of users on the side, even though I didn't write anything? There's 8 faces on the side though! Perhaps I'm the only one in that list that's not a regular here?
 
 
2 hours later…
2:18 AM
@NikeDattani yeah, new face
 
 
3 hours later…
5:20 AM
@NikeDattani Indeed. I didn't mean to intimidate you, only to be welcoming. Sorry about that.
 
 
5 hours later…
10:02 AM
At Dyalog we each reserve the end of the week (when circumstances allow it) for Friday afternoon noodles – a time to experiment with almost anything APL-related (or for those of us who look after systems etc, for anything Dyalog Ltd-related). I know I’m either late for last week’s, or early for this week’s, but I wonder if anyone fancies this question for a noodle ?

I need the function avx, and I need it to be as performant as possible: it should return the indices (⎕io←0) of the elements in the argument. All invalid arguments result in a DOMAIN ERROR, and the only valid arguments are si
 
10:15 AM
Sorry, I meant it should return the indices in ⎕av (⎕io←0) of the elements in the argument.
 
@AndyS 256∊z should be faster than 1∊255<
@AndyS Can we assume the argument is a character vector?
 
@Adám No you can't assume anything about the argument
 
Presumably, this needs to run under Unicode? (Since running under Classic makes the problem trivial.)
 
@Adám indeed, and as for 256∊: Doh ! how did I miss that one ?
 
 
2 hours later…
12:52 PM
@Adám the message was very welcome and I would have done the same! Also, I am indeed interested in APL, although most of my work in the past was done in Matlab and Fortran.
 
1:13 PM
@NikeDattani@ Ah, OK, phew. How much have you looked into APL? Do you need any pointers or a personalised tour?
 
 
1 hour later…
2:21 PM
0
Q: Syntactical tree representation of an APL function (or an expression)

OlexaHow to obtain a syntactical tree representation of a Dyalog APL function (or an expression)? I'd like to check whether a certain user-defined sub-function is called with certain number of elements in its right argument, explicitly specified as a vector in APL source code, i.e. for fooNction x(y+1...

 
 
1 hour later…
3:34 PM
Programming Reference Guide / Introduction / Binding Strength.
The binding table has REF tokens, but the key doesn't mention REF.
https://help.dyalog.com/18.2/#Language/Introduction/Binding%20Strength.htm?TocPath=Programming%2520Reference%2520Guide%257CIntroduction%257C_____7
Also, I'm a little confused on the difference between ERR and empty "no binding" errors.
 
There is a bit more here: dfns.dyalog.com/s_parse.htm
 
@B.Wilson Logged as issue 20392.
 
REF is the non-product use of dot (so namespace references)
 
@xpqz My guess is that ERR is just some virtual token in BG, while the blanks simply don't bind at all. The link doesn't explicitly address ERR vs empty cell, but the dfns BG table is nice! Thanks for sharing.
@xpqz That's what I figured. Cheers!
 
dfns contain a range of BG tables for a increasing level of language sophistication. It's a very nice resource for this.
The table you referred to will not fully describe Dyalog's dfns. For example, no guard statements. The dfns one is more complete.
 
3:59 PM
@xpqz Way more complete, with proportionately more fun. Am I reading this correctly, though? Doesn't look like error guards are here.
 
It doesn't have error guards. Just normal guards to break out of dfns early.
 
Cool. Thanks for the sanity check.
@xpqz BTW, have you looked at the original BG paper? The ~40 year old APL code at the end is really interesting.
 
4:49 PM
@B.Wilson Yup, it's a milestone
 

« first day (2233 days earlier)      last day (437 days later) »