@KamilaSzewczyk If you do modified/indexed/selective assignments, the interpreter will do them in-place. Your namespace does doesn't really achieve anything (and doesn't make much sense either).
I'd try with .dyalog first as the safer bet, as that is the older extension used by Dyalog for source files. It'd be nice if .aplf and .apln (etc.) would work, though, as those are the new standard.
@Dincio (APL noob here as well) one thing someone (probably @Adám) here told me a few days ago is to google "dyalog apl" to cut on the noise. Unfortunately APL is not a very distinctive name (worse than Haskell, though better than J ha ha).
@Adám yes, of course. @Adám, speaking of APL Cart, one improvement that would be nice for it is to overload each entry with some synonyms. Sometimes I look for a concept with my own words and I don't find what I am looking for till I try many other queries. For instance, in most cases array and matrix would be synonymous (not strictly speaking in APL, but for the casual user of APLcart).
@AlexB There are a bunch of synonyms, but I'm always interested in more, so whenever you search for something using some query, and then only find what you were looking for using another query, do let me know, and I'll add the appropriate keywords. array and matrix are probably a good idea.
it's annoying for sure to do it each and every time you update your answer. but you usually also prepend a striked out old score, so i don't think it makes much of a difference
what's the point in competing against other languages anyway
you'll always be outgolfed by someone who's made a stacklang where the solution is a chain of builtins where each builtin would take four lines of APL to express
In Dyalog 18.0 I got a WS FULL message. Is there a way to clear space so that I can at least save my unsaved work? Any APL, user, or system commands fail to execute (the only reaction is that the line where I typed the command gets immediately cleared).
A ternary numeral system (also called base 3 or trinary) has three as its base. Analogous to a bit, a ternary digit is a trit (trinary digit). One trit is equivalent to log2 3 (about 1.58496) bits of information.
Although ternary most often refers to a system in which the three digits are all non–negative numbers; specifically 0, 1, and 2, the adjective also lends its name to the balanced ternary system; comprising the digits −1, 0 and +1, used in comparison logic and ternary computers.
== Comparison to other bases ==
Representations of integer numbers in ternary do not get uncomfortably lengthy...
I had to "Force Quit". Normal Quit wouldn't work. I also noticed that Dyalog traps "Force Quit" and asks for confirmation. It shouldn't trap it, AFAIK, except possibly to dump to a file.
@Adám Yes, I was planning to use ext. files. I am waiting for 18.2 with full sync on the Mac... :-)
there's not really much dyalog could really do here though, besides making sure everything needed to execute )erase whatever and )sic never allocates anything at all
@dzaima (which, incidentally, sounds like a fun thing to work on in CBQN)
With Dyalog 18.0 on MacOS, I can trace execution but: 1. I don't seem to be able to single-step one function at the time (it executes one whole line at the time) 2. I cannot find a way to set breakpoints 3. I cannot find a way to display values of variables
@dzaima thanks. I will look better. It’s not the same as other IDEs…
2. I found where to click to set a breakpoint. There is no visible affordance. Only the cursor changes slightly when it's over a strip that's just a few pixels wide. If you blink, you miss it. (Perhaps something to improve?)
Also another problem: 4. In a recursive function, there seems to be no way to print as I single-step through it. The output seems to be buffered because it appears all at the same time when the top-level function returns...
@Adám no, you are right, I am only returning a value; I wanted to monitor the array as it is being built — it's not a problem of buffered output.
@Adám It's very unstable. If you didn't tell me I would never find it. The cursor has an I-beam shape and it's sensitive over just a few pixels when hovering on a variable. The UI is a bit quirky. Getting tips from the experts is helping a lot.
I was able to double-click on ⍵, which opened another tab with the value of ⍵. Then I was able to drag it on the side to view the source code and the value of ⍵ at the same time. However when it recursed down the trace window got reset, it jumped in a different position on the screen, and the ⍵ panel disappeared.
@AlexB Yeah, dfns do this because it is a new scope. Tradfns tend to be much nicer to observe. One feature I'd like, is the ability to open a window on a name, displaying at all times whatever the value is of that name.
@Adám I understand that I am entering a new frame, hence a new scope, however it would be logical to keep the monitors on the local vars having the same name in the new scope, especially ⍺ and ⍵. (That is normally what debuggers do.)
@Adám I thought you weren't referring to local vars. Now I understand you were saying the same thing. (I thought that by name you meant a bound variable.)
@AlexB That wouldn't be a RIDE issue though, but a new interpreter feature (don't forget that RIDE is "dumb" and has no clue what the significance of various windows are; the interpreter controls which windows are open and when they close). Feel free to email support@
@Adám I logged 3 issues on RIDE. If they should be on the interpreter instead, please move them. TBH, from a user's viewpoint (especially on the Mac) it is the debugger UI that is involved. Whether it's a RIDE or an interpreter problem is up to the development team to judge, because I wouldn't know for sure.