I’m greatly enjoying my Charybdis nano: the built in trackball makes using the mouse just as convenient as the keyboard
Numpy doesn’t quite get it. It covers the core verbs, but it opts for specialised names instead of using adverbs (you can apply your own, but it’s much more laborious). Once you see +/, you understand ,/ or fn/ -…
There's also the much less vector oriented spelling: (1 ∾˜ " "⊸(¬∘⍷))⊸/ which removes the first space of each occurrence of double spacing
Do you remember what it was? This is how I would spell that in BQN, and you could write something very similar in APL (you don't have shift, so you'd have to write 1 drop 0 cat swap instead) ((«¬∘∧⊢)' '=⊢)⊸/ This works…
It's clear that the symbols want to have one meaning each, for monadic and dyadic use, but that might mean quite different execution and types. For example, & is monadic 'where' and dyadic 'min' (a logical extension of…
There’s nonguix for access to non free drivers and such. I think that system crafters have some installable images if you don’t have a current guix install to build one It’s regrettable that this is necessary, but with…
You might be interested in this then: https://mlajtos.mu/posts/new-kind-of-paper I’ve not used it myself, but it appears to be the thing you’re wanting?
In helix that's %d (select-buffer, then delete). The selection-then-action design for helix is showing it's difference to vi, which is action-on-movement.
It is BQN, a descendant language
Yes; the CBQN interpreter has a number of specialised vectorised codepaths. It picks a good one for the arrays at runtime.
In K the arguments are named x y z by default, so you just write: { foo[x, bar] }
Looks like K to me!
> I didn't understand how this connects to the first paragraph at first, but I think you're saying this playthrough is an analog to someone making such documentation, thus saving DF from such a fate? (Not OP) Possibly,…
> For character-based movement, simply press 'z' to enter the column mode. I did eventually find this in the documentation, under the "regexp selections" section. I think it should be more prominently displayed in other…
In this respect, probably nothing, and they probably all mean Q. Q is a different language to K, implemented in K. There are more versions of K than Q- kdb+ is the only Q implementation, but there are others like…
Or indeed just results*:2
It returns it for 404 as well: https://http.cat/does/not/exist
I don't want to do the same things for boolean operations, or arithmetic, or pointer (de-)referencing in C like languages. Why would I want to do so when equally familiar with a larger range of symbolic operations?…
I'm solving in BQN, and my workflow is repeatedly re-phrasing a line until it does what I want in the repl, and then naming it, and then moving on. Most often I end up with some enormous one-liner that I then break down…
APL!
Another classic use case is that you can have expressions in the types of your function, for example this won't compile: stringOrInt : (x : boolean) -> int -> (if x then String else int) stringOrInt true x = toString x…
Do you have any examples that come to mind of it being slow? My experience has been that I've been the slowest part of my code, by a long way. Some optimisations aren't quite there (like under on higher rank arrays not…
All APL versions have had variable assignments, denoted by ←, e.g. `var ← 1 2 3`. There is a concept of tacit, or point-free, programming, which avoids the variable names as parameters, for example the calculation of…
I think if you're looking at learning an array language in order to learn an array language, because of the oft-discussed change in perspective and technique, then I think BQN meets that very handily. BQN is, in my…
You can download a copy of Dyalog for free, if availability is the issue. If it's licensing/a desire to use open-source software, perhaps taking a look at its close relatives of J, or BQN, would be reasonable? * Dyalog…
I’m greatly enjoying my Charybdis nano: the built in trackball makes using the mouse just as convenient as the keyboard
Numpy doesn’t quite get it. It covers the core verbs, but it opts for specialised names instead of using adverbs (you can apply your own, but it’s much more laborious). Once you see +/, you understand ,/ or fn/ -…
There's also the much less vector oriented spelling: (1 ∾˜ " "⊸(¬∘⍷))⊸/ which removes the first space of each occurrence of double spacing
Do you remember what it was? This is how I would spell that in BQN, and you could write something very similar in APL (you don't have shift, so you'd have to write 1 drop 0 cat swap instead) ((«¬∘∧⊢)' '=⊢)⊸/ This works…
It's clear that the symbols want to have one meaning each, for monadic and dyadic use, but that might mean quite different execution and types. For example, & is monadic 'where' and dyadic 'min' (a logical extension of…
There’s nonguix for access to non free drivers and such. I think that system crafters have some installable images if you don’t have a current guix install to build one It’s regrettable that this is necessary, but with…
You might be interested in this then: https://mlajtos.mu/posts/new-kind-of-paper I’ve not used it myself, but it appears to be the thing you’re wanting?
In helix that's %d (select-buffer, then delete). The selection-then-action design for helix is showing it's difference to vi, which is action-on-movement.
It is BQN, a descendant language
Yes; the CBQN interpreter has a number of specialised vectorised codepaths. It picks a good one for the arrays at runtime.
In K the arguments are named x y z by default, so you just write: { foo[x, bar] }
Looks like K to me!
> I didn't understand how this connects to the first paragraph at first, but I think you're saying this playthrough is an analog to someone making such documentation, thus saving DF from such a fate? (Not OP) Possibly,…
> For character-based movement, simply press 'z' to enter the column mode. I did eventually find this in the documentation, under the "regexp selections" section. I think it should be more prominently displayed in other…
In this respect, probably nothing, and they probably all mean Q. Q is a different language to K, implemented in K. There are more versions of K than Q- kdb+ is the only Q implementation, but there are others like…
Or indeed just results*:2
It returns it for 404 as well: https://http.cat/does/not/exist
I don't want to do the same things for boolean operations, or arithmetic, or pointer (de-)referencing in C like languages. Why would I want to do so when equally familiar with a larger range of symbolic operations?…
I'm solving in BQN, and my workflow is repeatedly re-phrasing a line until it does what I want in the repl, and then naming it, and then moving on. Most often I end up with some enormous one-liner that I then break down…
APL!
Another classic use case is that you can have expressions in the types of your function, for example this won't compile: stringOrInt : (x : boolean) -> int -> (if x then String else int) stringOrInt true x = toString x…
Do you have any examples that come to mind of it being slow? My experience has been that I've been the slowest part of my code, by a long way. Some optimisations aren't quite there (like under on higher rank arrays not…
All APL versions have had variable assignments, denoted by ←, e.g. `var ← 1 2 3`. There is a concept of tacit, or point-free, programming, which avoids the variable names as parameters, for example the calculation of…
I think if you're looking at learning an array language in order to learn an array language, because of the oft-discussed change in perspective and technique, then I think BQN meets that very handily. BQN is, in my…
You can download a copy of Dyalog for free, if availability is the issue. If it's licensing/a desire to use open-source software, perhaps taking a look at its close relatives of J, or BQN, would be reasonable? * Dyalog…