1:30 PM
@dzaima How do I split on spaces in dzaima/APL?

@Adám `' '(1↓¨=⊂,)` or something

Any chance for `⊆`?

@Adám i don't like it merging consecutive separators
..and its weird ascending thing that it does

6 hours later…
7:33 PM
I have an expression to extract from a matrix a submatrix containing all rows for which column 4 value equals a given value: {(matrix[;4]=⍵)⌿matrix}. I can pass a vector to this expression and it produces a vector of matrices, which is what I want: {(matrix[;4]=⍵)⌿matrix}¨ 1 2. Now I'd like to replace the matrix reference by a left parameter ⍺. But matrix {(⍺[;4]=⍵)⌿⍺}¨ 1 2 produces a rank error. What is wrong here?

@RudiAngela the `¨` will apply to the left argument too
so you want do `⊂` the left arg

@Adám he's 24 now, but started looking at APL a few years ago. He was a Phase 1 winner this year (dyalog.com/student-competition.htm) and also wrote a significant portion of aplwiki.com/wiki/Stencil . I can only look on with pride :-) Anyway, we both enjoyed watching various APL videos, from the classic 1975 Demonstration video, through various Dyalog videos, to the more recent Code Report ones too.

7:48 PM
@RudiAngela Either what dzaima wrote or alternatively insert `∘` on the left of `{`
@qmacro Oh nice.

@dzaima Thanks. But where do I place that ⊂?

@RudiAngela `(⊂matrix) {(⍺[;4]=⍵)⌿⍺}¨ 1 2 `

@Adám Thanks. It works, magically (i.e. I don't know what I'm doing here).

@RudiAngela You're binding the matrix to the dyadic dfn to form a single monadic derived function, which you are then applying to each of the numbers.

@Adám Ah yes of course: need to place in parens.

8:02 PM
@RudiAngela Yes, I could see that because you used the reply functionality (thanks!) and my explanation is indeed for that.

1 hour later…
9:09 PM
@qmacro I wish I had known about APL when I was 24 ! The closest to APL that I knew was Mathematica. But, I believe that APL is much much better. I'd be proud of my son too if he was making steps helping a nice & important community as APL's :) I hope he keeps it up.
imho APL should be taught to every math & physics department around the globe along with some language like Fortran or C/C++ and Mathematica (for symbolic computations, such as symbolic integral evaluations).
It'd be nice if in the future a symbolic math library like sympy would be created for APL.

@user82382 Hi Guys Math! If you want to participate here, simply email access@apl.chat
@klao Hi there. Interested in APL?

@Adám I saw that there's a Springer book out there about creating an APL compiler. I think Haskell has an interpreter and a compiler. Does Dyalog have any plans into creating a compiler for its APL too ? :)

@milia Well, we have an experimental built-in compiler and are sponsoring Co-dfns.

@Adám thanks, I'll surely check it out :)
@Adám this is gold material: bonfire.com/store/arcfide :D

9:29 PM
christmas is soon.... wonder if santa could get me something :P

@milia I can't testify about all the products there, but I can assure you that the first three items are greater than average.

@Adám as I just mentioned right now to Aaron, I'll surely honor his shop, as I find the idea of going around with some APL code on my chest a great conversation starter :)
and hey, if it's of top quality, as it looks like it, it's a win-win

@milia I hope you got my joke.
Dyalog should sell merch with the hexagon icon, and the ⊃∨∧⌊○⊂ logo etc.

oh right
the joke must be related to the code of the first three...
I got this at least :O
:P
@Adám yep, having a Dyalog sweater with some nice APL code on it would be nice too

Maybe a shirt that says `⊣⌿` on the front and `⊢⌿` on the back. That'd be cool.

9:40 PM
@Adám Wait a minute, how is Co-dfns only 17 lines long?

I think it is only the core code.

easy, it isn't :P ^

Ah

damn, I think Aaron's sweaters are like a test of being accepted in the community. Like in special forces. You have to go through hell -they say- to get your green beret. I guess I'll go study more APL so that I understand the fnc on the sweater. Or else I wouldn't call me worthy of wearing it xd
thankfully xpqz.github.io/learnapl/intro.html is online again :)

Clothing claiming that `42=6×3+4` – how's that for a conversation starter?

9:46 PM

Or that `1 = 6÷2×(1+2)`, given that memes about its ambiguity have been going around Reddit

I wonder what percentage of people with co-dfns tshirts can claim to fully understand it, probably not many
@rues no, it is 6÷2(1+2) that has the ambiguity
which is obviously `3 2`

Is there a tacit way to express {}⍬

Computing an expression when needed.

no

Only using execute.

9:48 PM
Gotcha, thanks

yuck

Was just curious :)

No, wait, that's not necessarily right.
You might well be able to.

:O!

hm?

9:49 PM
You'll need execute if you need to access global names at runtime, but not otherwise.

@rak1507 Oh yeah, forgot that was valid APL
Stranding is weird

Heh, `3 2 ≡ 6÷2(1+2)` would be nice.

too weird to be interesting to normal people but too obvious to be interesting to aplers

Or something like

I'm surprised 2(1+2) doesn't do multiplication, considering APL was originally used as a blackboard/paper math notation. I think the multiplication being implicit is why most people get confused with 6÷2(1+2)

9:54 PM
¯1 ≡ det (2 2 ⍴ 0 1 1 0)

@FawnLocke No no, Iverson wanted to make an unambiguous and explicit notation.

:)

@milia But `det` isn't really APL.

@rues would work better with the galaxy brain format

9:55 PM

@rues Goes into the Memes section of APL Wiki?

@rak1507 True, true

@rues Iverson was opposed to stranding!

@Adám There's a memes section? Nice

9:55 PM
I think Iverson wanted (1, 2, 3) notation originally

`1=-*○⊕1` is nice, but not yet implemented :-(

@Adám Oh, was it John Scholes then? I think someone linked to something about him implementing it

Which implementation?
Or, was it before an impl

@rues No, John Scholes was much after that. I don't remember who it was, but it was only of the first implementers. It came up in a recent APL Campfire.
@FawnLocke The very first. Didn't have a name yet, I think, or maybe it wwas PAT or IVSYS/7090.

APL Wiki seems to be more dedicated to humor than information sometimes :P

9:58 PM
Thanks

@rues Humour is important, and the early APL giants had plenty of it.

Is Alpha and Omega on the humour page?

@FawnLocke No, but feel free to add them if you think it fitting. Though, I don't think it was ever humorous meant. Originally, the symbols, together with their overlined siblings, were dyadic functions.

it's unintentional humour

Why is it even funny?

10:04 PM
Jan 24 at 22:42, by dzaima
for those not in the CGCC discord, here's an art piece

Out of context it can look like APL is a religion :)

@dzaima I wonder why Judaism isn't listed first there…

@Adám well, what if det is simply a short name for some complicated APL dfn? :)
@FawnLocke some have said that it is. I think Dijkstra in one of his emails.

@milia That'd work in any language.

@Adám You edited that page, didn’t you?

10:08 PM
@Adám APL is the only language that has a rho symbol though afaik :)

@milia jsoftware.com/papers/Dijkstra_Letter.htm I think this is the source

@FawnLocke exactly.

Quite a funny interaction :)

Jsoftware has tons of interesting material to read.

@milia Sure, but why not `-1 == det([[0,1],[1,0]])` and say it is JavaScript or Python or somesuch?

10:09 PM
I found also the book of Roger on the interpreter of J in C pretty interesting find. I have yet to finish reading it, and then digesting it.
@Adám because my proposal is classy, whereas yours -sorry to say- makes my eyes bleed...

@FawnLocke Hm, that should be added to apl.wiki/Edsger_W._Dijkstra
@milia For a two-row matrix, it is simply `-/×⌿0 1⌽m`

> Dijkstra didn't hate APL specifically: he hated every language other than ALGOL 60

@Adám It's in the external links section, saved me an edit :)

@FawnLocke Yup, I just notices, but why isn't it more front and centre?

I was also thinking that

10:16 PM
:59728046 They are about the same, but hilarious that the original uses `⎕IO←0` for footnotes, while Vector's uses `⎕IO←1`
@FawnLocke The Wiki is a free-for-all, go! Edit away!

Lol

@rues lol!

I can't tell if it's a joke or not

@rues What?

> Dijkstra laments the inability of APL programmers to live without an APL session

I find this funny, as it's an often seen criticism on hackernews :)

10:20 PM
@FawnLocke Even stated in the latest Array Cast.

@Adám He couldn't have hated every single language other than ALGOL, could he?

Why not?

It even mentions him saying something positive about LISP later
@Adám Because there were so many languages around, even in the 60s
Surely a few others interested him, or at least weren't bad enough by his standards that he didn't hate them

¯\_(⍨)_/¯

I wander what Dijkstra thought of Fortran.

10:23 PM
Probably a dozen articles on it :)

@FawnLocke I'll google then, thx :)

Looks like he hated that too

> FORTRAN --"the infantile disorder"--, by now nearly 20 years old, is hopelessly inadequate for whatever computer application you have in mind today: it is now too clumsy, too risky, and too expensive to use.

@rues I begin to like the man then.
@FawnLocke still true at the most of it :p
*for

I can't speak to the virtues of Fortran, I have heard that modern Fortran is quite nice to work with, compared to it's older versions.

10:26 PM
@FawnLocke more pleasant yes, maybe...but...still fortran

F77 was horrible...I was introduced in it around 2001 ...

Maybe when we settle on an APL logo, I'll open a merch store.

If you can share ofc

10:52 PM
“The sooner we can forget that FORTRAN ever existed, the better, for as a vehicle of thought it is not longer adequate: it wastes our brainpower, and it is too risky and therefore too expensive to use.” (862).

11:15 PM
0

What is the syntax for a vector (array) of functions in APL? I have tried the following but these are interpreted as a 3-train and a 2-train, respectively: {1},{2} {1} {2} PS. I am looking to do this with more complex (and possibly named) functions by the way, the {1} above is just so the examp...

Who's gonna tell them the bad news