@Bubbler the argument that finally convinced me to implement rank-sensitive find (it took a long time) was that "find" should be (as close as possible to) an inverse of "at"
for instance, it's nice to be able to make a dictionary and index it like this:
the implementation of "find" i have now is very simple - only 3 cases: if rank(x)=rank(y)+1 search for y (as a whole) among the elements (i.e. major cells) of x if rank(x)<rank(y)+1 recurse into y, using the same x if rank(x)>rank(y)+1 error
perhaps the page on odometer could use an implementation: {+x\'!*/x}
worth noting that in some dialects (early k5, I think?) the result was the transpose of what oK and ngn/k produce now, for reasons which may be obvious given the above implementation
haha well looks like kona gives you the transpose of the k3 version
the original version I gave was k6, yeah- works in oK and should work in ngn/k
I think if you dig around in the right places it's possible to find a real copy of k2 online. I have a personal license for k3 which I cannot redistribute, but I can always try stuff out for people
so to clarify the k3 version I provided has the exact same behavior as the k6 version. Kona, however, appears to have different semantics (a bug?) for _vs
one general note: if you're drawing a single matrix as a bitmap, you can leave the position off entirely (like (;pal;image) ) and it'll automatically be centered on the display. This saves a few characters in this program and makes it easier to make stuff resizable.
also while oK doesn't have it, iKe adds a pow[x;y] function along with several other handy math functions