« first day (91 days earlier)      last day (2553 days later) » 

 
9 hours later…
9:54 PM
@Adám What's =+/⍳
 
@Dennis I think that the obvious thing for you to do now is teach your daughter Jelly.
 
@Phoenix But Jelly uses Latin letters. Also, Jelly is a little less promising when it comes to career and applying the skills in school math.
@Dennis Maybe teach her J? But again, J uses Latin letters, and the "symbols" are much less mnemonic than APL's (if you don't know APL).
 
I don't know APL, the symbols make no sense at all.
 
@Phoenix Which ones do you have in mind?
@Phoenix and reverse or rotate horizontally and vertically. is transpose.
@Phoenix is take (n first elements), and is drop.
 
10:00 PM
Drop makes sense
 
@Phoenix ? is random numbers.
@Phoenix < ≤ = ≥ > ≠ ≡ ≢ are what you think.
 
Why is range
 
@Phoenix is Greek equivalent of i as in indices or index. (Which is why it is i. in J)
@Phoenix and are ascending and descending grading.
 
It makes sense if you know APL
 
@Phoenix * is to-the-power-of; is its inverse, log, which looks like a slice of a tree log.
@Phoenix ∧ ∨ and or; ⍲ ⍱ nand nor.
× ÷ are the proper symbols like found on a calculator.
is matrix division/inversion.
 
10:06 PM
/ is map?
 
@Phoenix reduce
 
But +/ is total.
 
if / is reduce, then +/ meaning sum would make sense
 
@Phoenix the slash indicates the reading "over", like the + over the list.
 
So it is like map
 
10:08 PM
@Phoenix Except mapping is always implied for scalar functions.
Just as +/ is sum, so is +\ running sum.
@Phoenix . is dot product.
 
running sum means it returns a listt?
 
~ is not or without. ∩ ∪ do what you expect, but monadic is unique too.
@Phoenix yes, of as many elements. Try it online!
is membership (or ∊psilon=E=Enlist)
⍴ is rho =R=Reshape
does all kinds of unit-circular/trig/complex things.
is the empty set
is left and is right.
and are ceiling/max and floor/min
 
why not use the mathematical empty set symbol for empty set?
this one: ∅
 
@ais523 Well, it's pretty much that, no? Just a style difference. is too similar to the Danish letter Øø and confusable with transpose . Ø and ø are valid identifier chars in Dyalog APL.
 
transpose in maths is normally a supserscript T, which is pretty distinctive
although APL's symbol makes sense if you want it to be analogous to reverse
I didn't realise APL tried to avoid letters though
 
10:17 PM
@ais523 And T(ranspose) is just English.
Also is the inverse of which in turn is from-base-N conversion, i.e. to-base-N. looks like the base of a pillar.
 
shouldn't they mean up and down, given the definitions of left and right?
 
@ais523 Yes, but APL expressions are 2D; there cannot be any top or bottom arguments, only left and right arguments.
@Phoenix symbolises the box, i.e. the computer. ←⎕ is input (of numbers) and ⎕← is output (STDOUT). Since strings are marked with single quotes ', the ←⍞ is string input, and ⍞← is prompt/output to STDERR (i.e. messages).
 
those last two commands are the same
 
@Phoenix [ ] square brackets can be used for indexing, but there is also a real indexing function, which is the composition of [ and ].
 
so I assume there's a typo there somewhere?
 
10:23 PM
←⍞ and ⍞← both seem to be string input.
 
do any of the I/O commands use ?
 
@ais523 No, is GoTo, e.g. →5 GoTo line 5 or →End GoTo the label "End".
@ais523 is assignment, so no confusion with equality (=).
 
I'm not used to APL-alikes having variables
too much Jelly, I guess
 
is assignment in TI-Basic
Except it's e.g. 2→x
 
@Phoenix Yes, but TI-Basic goes from left to right, so that makes sense. APL goes from right to left.
@Phoenix Version 16.0 will include one new glyph that I managed to get in; (does not mean superset).
 
10:34 PM
What is it, then?
And why isn't is superset?
 
@Phoenix The super and subset functions are pretty easy to write in APL anyway, so they barely need dedicated glyphs (although the NARS2000 dialect does provide a way to use them as such). Instead they have been repurposed for enclosing and disclosing arrays.
@Phoenix ⊂A is encloses A (makes it a self-contained scalar). ⊆A encloses A only if it isn't already enclose. You can see it as enclose-or-equal just like and .
 
Makes sense
 
@Phoenix P⊆A encloses pieces of A according to the pattern P.
is the inverse, disclose.
Just like converts from a base, so does convert from a string, i.e. eval. is the inverse; it converts numbers (or anything, really) to text.
@Phoenix | is division remainder and absolute value (like | x | in math).
 
if you have both eval and uneval, a quine should be really easy to write
 
@ais523 It isn't really uneval, though.
@Phoenix , is horizontal concatenation, while is vertical concatenation.
 
10:44 PM
ah, hmm
being able to take a string and produce the source code representation of that string is a really useful technique
and that's the analogy on strings of uneval on numbers, in most languages
 
is a comment to enlighten you (it is a stylised picture of a lamp/bulb).
 
(because most languages write integer literals using decimal)
 
@ais523 We have a util for that. I have it mapped to F11.
@ modifies values at certain locations.
! is factorial (beta and gamma functions)
swaps arguments. You can kind of see how the wavy line swaps the two dots... (and its cute too)
 
in Brachylog we just use ~ to swap arguments
although I've been trying to persuade Fatalize to make it a superscript letter instead, for consistency
 
@ais523 Also in J, but ~ is logical not/set difference.
 
10:49 PM
does APL have a policy of avoiding ASCII for operators?
 
@ais523 No: +-*,^~<>=
# is the root namespace.
 
- isn't even a minus sign, though, it's a hyphen; minus sign is
 
@ais523 Well, APL predates Unicode… And the confusion would be great if both had meaning. Originally, we used ^ for And. Now Dyalog APL uses , but allow ^ for compatibility. APLX has loads of such equivalencies.
 
is so frustrating because it's fairly important in Brachylog but doesn't seem to be anywhere on my keyboard layout
so I have to keep copying-and-pasting it from Brachylog docs
 
@ais523 Nah, AFAIK only APL keyboards have it. Why don't you just modify your layout if you use Brachylog a lot?
 
10:55 PM
because I use other languages a lot too
(meanwhile, I've got fairly good at typing Jelly; its character set was designed to be mostly typable on standard Linux layouts; and there's a golfing language I'm working on whose character set is the common subset of "typable using level 1/2/3/4 shifts on the default Linux keyboard layout" and Windows-1252)
 
@ais523 That's man serving machine. I prefer the other way around; use the best glyphs and make the computer (keyboard) comply.
@Phoenix So what do you say? "the symbols make no sense at all"?
 
it's more to do with, if you stick with one language you can use a heavily customized keyboard
 
@ais523 You could have several custom layouts, one for each language.
 
but if you work in 54 different languages you want them to all have a common thread
I favour keyboard layouts that give me a lot of freedom in what I can type
é×±Ṣ→“€
 
@ais523 Wait, what‽ You cycle between 54 languages that all have unique character sets?
 
11:02 PM
most of them use ASCII
also, 54 is as of right now an underestimate (it's the number of languages in the current polyglot, but I know plenty which aren't there)
 
@ais523 é×±Ç→¨É
 
I assume that was retyped?
several of the characters are different, after all
anyway, this is why I'm frustrated at things like not having a minus sign on the keyboard layout (it's a stock keyboard layout, just one with a lot of characters)
also it doesn't have Greek letters
at least, not all of them
I just feel like, if I want to type something, I shouldn't have to jump through hoops to type it
regardless of what language it's in
actually this topic's coming back round to TIO, in a way; it's likely eventually going to need understanding of character sets above simple "UTF-8/SBCS"
 
@ais523 On Windows you can switch language and have an onscreen keyboard layout for that langauge.
 
right, left alt + left shift
most of Windows' keyboard layouts are really anemic though
 
@ais523 Yes, and custom keyboards, like TryAPL's.
 
11:30 PM
I really like the Windows mnemonic keyboard. The Linux one ends up binding letters to useful keys like [, `, =; the windows one binds letters to key combinations.
 
@Phoenix I use AltGr+Shift+AWSRYU as prefixes, then another (optionally shifted) key. AWS stand for ´^`. R and Y flank T. T is ⍨ in APL, so R is ¨ and Y is ~. U is for underscore. E.g. AltGr+Shift+U,Plus gives ±, and AltGr+Shift+R,Shift+A gives Ä.
 

« first day (91 days earlier)      last day (2553 days later) »