I was reading through the transcript and saw that ,(⎕UCS 10), was one method for having multiline strings. That was in December 2020 though. Has there been any new ways to have multiline strings added since then?
@lyxal AFAIK, there's no multi-line literal syntax, but it's usually not as bad as manually throwing ⎕UCS 10 (or ⎕UCS 13) everywhere. If you have a vector of lines, then something like ∊(⍪lines),⎕UCS 10 or whatever will flatten it into one big string.
I've got two sibling namespaces, generated from directories via Link. I'd like to transparently reference variables and functions defined in A from within B, without having to write ##.B.blah.
I tried creating an apln file that sets ##.⎕PATH←'##.B', but that's not doing what I expected.
Clearly my mental model is broken, but I'm not quite sure where.
@B.Wilson Do you need to track changes to the variables (hopefully not the functions)? If not, then you can maybe copy the members across both ways. Why is it that you have two namespaces instead of one, if they are to give the outwards appearance of being identical?
Yes. The application code doesn't need to know anything about the test code, but the test code wants to reference functions and globals used by the application.
For the sake of argument, say we have A.word←'illustriousness' ⋄ A.calc←{⍵} and we want to write B.test_foo←{'illustriousness'≡calc word} instead of B.test_foo←{'illustriousness'≡##.A.(calc word)} everywhere.
You can make the reference shorter by doing B.A←A and then you can skip ##.
Or you make the test namespace into a class, and :include the application namespace.
@B.Wilson (I occasionally disappear without warning, because I have a newborn at home, so here's a ping to signal you that I came back with an answer.)
@B.Wilson Excessive memory usage probably doesn't matter so much for the test code, so maybe just copy in the application code when the tests begin: (⍕⎕THIS)⎕NS##.A
L1 cache on each core, but shared between hyperthreads.
L2 and L3 are unified though.
Oh, you meant total L1, maybe? Since it just happens that per-core dcache on your machine is 2/3 mine, but my core count is 2/3 yours, so the total L1 dache size actually matches.