« first day (3217 days earlier)      last day (1609 days later) » 

12:46 AM
0
Q: Print out the longest Wikipedia article

AriPrint out all words found here: https://en.wikipedia.org/wiki/2020_United_States_House_of_Representatives_elections. It doesn't have to be formatting similarly. It can't take any input.

 
uh oh
 
1:06 AM
0
Q: Gaussian integer division reminder

Alexey BurdinGaussian integer is a complex number in the form \$a+bi\$, where \$a,b\$ are integer and \$i^2=-1\$. The task is to perform such operation for Gaussian integers \$a,b\$, that \$a=q \cdot b+r\$ and \$|r|<|b|\$ (\$q,r\$ are Gaussian integers, \$|z|\$ is defined as \$\sqrt{a^2+b^2}\$ for \$a+bi=z\$...

 
1:47 AM
0
Q: Flag mashup generator

SztupYFlags Mashup Bot is a small Twitter bot that generates a new flag based on two random flags and tweets the result every couple of minutes. Task Your task is to replicate what the bot does by writing a script or a function based on the following criteria: The input is any two lossless images ...

 
 
2 hours later…
A _
4:03 AM
@NewMainPosts The states house election article is probably the most boring Wikipedia article that I've ever seem.
 
4:23 AM
0
A: Sandbox for Proposed Challenges

Alexey Burdinprint 1000 digits of \$\pi\$ base 3 every digit has to be either +1, 0, or -1, coded +,0,- resp, output is likely starts with +0.0++-+++-000-0++-++0+-++++++00--++ may be code-golf or maybe should include some other constants printed that way like exp(1) or euler or gamma(n)

 
 
5 hours later…
A _
9:14 AM
can i read a story? coins are inheriting abacks to hinges. -- Jelly decompressor
 
 
1 hour later…
10:33 AM
@A_ These kinds of non-sensical, out-of-context, uncomprehensible messages is one of the reasons why you were banned before
Don’t take this habit back
 
A _
10:45 AM
@Fatalize I don't understand. You mean I should continue doing this?
Don’t                      The negation of
           this habit      the above habit done
      take    ...     back Cancel the above action
 
…I don’t give you much time before another ban, imho
 
A _
Sounds like a good deal. Whenever I want to get a ban I will post messages like this.
@Fatalize Imo you should give me 0 seconds before another ban.
Fatalize gave me negative 8 seconds because there are 8 letters in their username.
Fantastic tale of the important zenith. Fatalize.
 
11:11 AM
0
A: Sandbox for Proposed Challenges

KeizerHarmHow long should this song last? Enter the world of sheet music. A composition (the musical piece, which may or may not be a song) is divided into bars. The length of a bar is defined by the time signature. The time signature states how the bar is divided into beats, and what length of note carri...

 
@A_ You know bands become longer each time? Also, why would you want a ban? If you don't want to chat, just don't.
 
A _
@Adám If I continue posting messages I will still get warnings like this. If I get banned altogether I am free from all of these warnings.
Does StackExchange support banning forever?
 
@A_ If the ban warnings disturb you, how about modifying your behaviour to avoid them?
@A_ Yes.
 
A _
@Adám I don't know what is the standard of non-sensical posts. To me my posts totally make sense.
 
So "can i read a story? coins are inheriting abacks to hinges. -- Jelly decompressor" made sense to you?
 
A _
11:25 AM
@Adám I was trying to acronymize caird coinheringaahing's username.
 
@A_ And why would you do so in this chat room? Isn't that glaringly off-topic?
 
A _
@Adám I guess part of it is on-topic because this user is in this chatroom.
While off-topic conversations are allowed in The Nineteenth Byte, they should not get in the way of on-topic discussions.
 
@A_ Uh, no, this chat room is for topics related to CGCC, not its users' usernames. Is suggest you frequent this chat room. Username acronyms are 100% on-topic there.
@A_ You were not engaged in a conversation, but rather a monologue.
 
A _
@Adám I guess they are also talking about usernames in this chatroom.
 
@A_ Again, a natural conversation, not a random monologue.
@A_ Right. Spot on!
3
And even if a conversation has started, don't jump in with off-topic chatter. Only a natural progression to off-topic'ness is OK.
 
A _
11:53 AM
🤐 (I shouldn't be starting a conversation)
 
@A_ You shouldn't be starting an off-topic conversation. On-topic is of course fine.
 
I'd argue that trying to start an off-topic conversation would be fine; trying to start an off-topic conversation, failing to engage other users, and proceeding to monologue without audience less so.
 
A _
@JohnDvorak The Nineteenth Byte is designed for on-topic discussions. Don't risk starting an off-topic discussion.
Unfortunately I indeed started a conversation.
@JohnDvorak My nonsense sentence has at least one audience, although this audience doesn't seem to enjoy it. Is that okay for starting a conversation?
 
If people don't like your monologues, don't post them.
 
A _
@JohnDvorak 1. My sentence is an off-topic conversation starter. 2. It engages at least one user because they are known to be commenting on my messages. 3. There is a conversation that happens after this sentence is posted. This seems to fullfill all of your conditions.
 
12:06 PM
Stop pinging me
 
@A_ I think that for you in particular, it is best to avoid starting any off-topic conversations.
 
A _
Nov 15 at 10:56, by Adám
@A_ But then people won't know if they're not looking, and even if they are, I doubt people memorise their msg ids. At least you can do "@ user"
@Adám Getting banned together is better than having to do all of the considerations when starting a conversation.
 
@A_ No need to get banned for that; just click the leave link!
 
A _
@RoomOwners: Can you ban me forever?
@Adám Leaving a problem does not solve the problem. The problem is still there.
 
What is your problem?
 
A _
12:21 PM
@Adám Again, having to do the considerations.
 
Why's that a problem?
 
@A_ But if you get banned, you still haven't learned to consider such things. Problem remains.
 
A _
@Adám But I won't be able to make an off-topic discussion without considering such things. Problem solved.
 
@A_ If you don't come into the chat room, you won't be able to initiate any conversation either.
 
A _
@Adám Coming into the chatroom is my instinct for every CGCC login.
 
12:24 PM
@A_ However, the amazing thing about the chatroom I linked you to, is that you don't have to make any considerations at all. All topics are on-topic there!
@A_ Instinct‽ You can make that chat room a favourite (click the star!) and SE will ask you to join the room when you log in.
 
A _
@Adám And coming into The Nineteenth Byte. The chatroom is not the first one I come into.
@Adám But I don't want this. This creates bad solutions for me.
 
@A_ OK, not a problem. Just instead of bothering with those considerations, go ahead and post, but in that room, not this one.
 
@A_ How are we even supposed to understand this when your message comes completely out of the blue?
 
A _
@Fatalize That is why I don't want to be allowed in the chatroom.
 
@A_ if it's pointless for a message to be on TNB specifically, don't post it. I don't think there are too many exceptions to this rule
 
A _
12:27 PM
@Adám I couldn't think of that room when I logged in, the only chatroom I think of is TNB.
 
@A_ I still don't get it. That out-of-the-blue acronym msg would have been fine in that other room.
@A_ How is that? Maybe use a browser bookmark?
 
A _
@Adám I am afraid that I will forget about this bookmark.
 
@A_ Why? That seems perfect for you.
@A_ Do you want us to remind you about the other room?
 
TBF I wouldn't mind the message here if it was introduced properly
 
^ this
the problem isn’t the message itself, it’s that it has absolutely no context to it
 
12:28 PM
@A_ it wouldn't be that hard to make a tampermonkey script that redirects you out of TNB when you're in it
 
@JohnDvorak @Fatalize C'mon, please. YOu're making it too complicated for A _.
@A_ Which kind of device are you using, if I may ask?
 
A _
@Adám You will not always be active in the chatroom when I came in.
 
@A_ Tru, but if I am, do you want me to?
 
-1
Q: math constants base 3 with -1,0,1 as digits

Alexey BurdinNo input. We need to compute and print the values of \$\pi\$ and Euler constant \$\gamma\$ to \$1000\$ digits after decimal point in base \$3\$ with digits \$-1,0,1\$ represented as -,0,+ respectively. For \$\pi\$ output is likely starts with +0.0++-+++-000-0++-++0+-++++++00--++. \$\pi\$ can b...

 
@A_ Can you tell me why starring the room doesn't work for you? And which kind of device you use?
 
1:09 PM
Hmm, my "How do you do, fellow kids" comment got deleted
 
A _
1:55 PM
Where did you post the comment?
 
2:07 PM
On the L337 challenge
 
2:44 PM
3
Q: Inverse Look-and-Say

Uri GrantaBackground The Look and Say Sequence is built up by reading off the digits of previous entries in the sequence, counting the number of digits in groups of the same digit. For example: 1 => 11 # (one 1) 11 => 21 # (two 1s) 21 => 1211 # (one 2, then one 1) 1211 => 111221 # (one 1, then one 2, the...

 
3:04 PM
1
Q: Simulate reproduction in a population of oozes

anatolygReproductive strategy of oozes can be summarized as follows: o O 8 oo A population of oozes at generation N is described by a string, for example: ooooo88ooOoOo8Ooooo8OOoo8Oo8Oo8oo8oooooo8OOooO88o To compute the population at generation N+1, take one character randomly, and replace it by...

 
4:03 PM
@A_ New username: neaastory?sareintibckstoes. Makes perfect sense :P
2
 
 
1 hour later…
5:20 PM
CMC: golf a diophantine equation, a polynomial P(x,y1,...,yn)=Q(x,y1,...,yn) where y_i∊N, ie. {0,1,2...}, such that the corresponding set, {x|x∊N and x fulfills the diophantine} is the set of all fibonacci numbers; the solution with the smallest degree wins
I might main this depending on the feedback I receive
 
Whoa, new record.
 
:D
I vaguely remember one time closing an off-topic question 24 seconds after it was posted. I think that's my personal record
 
Just gotta open your own off-topic question, ez WR
 
0
Q: Code Golf: Complete the FizzBuzz test in as little bytes as possible

IdiotJSYou can choose any language. Try to complete the FizzBuzz Test in as few bytes as possible in any language you choose! Can you do it?

 
5:49 PM
CMC: Given two numbers, return the sum of their squares. Winner is the user who finds a language where this task takes the most bytes (and implements a solution in said language)
This is not because you must submit a golfed version, and other users may golf your solutions if possible
 
inb4 whitespace
 
Actually, I just realized it'll probably be lenguage
 
6:03 PM
@DJMcMayhem Unary can be a contender.
 
It's probably just not a good challenge if I have to ban arbitrary languages for it to work
 
CMC: Given two numbers, return the sum of their squares.
 
@DJMcMayhem I wonder if it might suffice to require a built-in operator for addition.
 
@El'endiaStarman That might be a little bit hard to define
Does brainfuck count?
Or brain-flak? (where addition is implicit)
@Adám I have 20 bytes in brain-flak, works for an arbitrary number of inputs
I won't reveal it yet in case someone else wants to try to figure it out
 
'tis probably two bytes in Jelly et al.
Four in APL.
 
6:14 PM
I believe it would just be ²+ assuming the input is a list
 
Or ,²S with 2 arguments
 
@DJMcMayhem I feel like it wouldn't be so bad to exclude BF (or Brain-Flak). As in, the challenge is to find a language with an explicit addition operator that takes the most bytes, fully golfed, to add the square of two numbers.
 
@Adám I think it's time I learn APL. Why doesn't ⎕*2 work?
 
@DJMcMayhem It does, but you need an explicit print there. Prefix ⎕← before your code.
 
Oh, sweet
What's the syntax for an array/matrix/list?
 
6:20 PM
@DJMcMayhem Lists are just space-separated. [1,2,3] is 1 2 3 in APL.
 
@DJMcMayhem 23 bytes in PowerShell
 
@Adám Wow, expressions like 2+1 2 3 are great.
Or 1 2 3*2
@Adám 7 bytes: ⎕←+/⎕*2
I'm sure that it's shorter if you use a function instead of a full program
 
@DJMcMayhem Very good (optimal, actually), for a full program. However ^
@DJMcMayhem You know Jelly, right?
 
Know Jelly? Sure. Am competent with Jelly? ehhhh
:P
I understand Jelly well enough until there are multiple dyads in a chain, and then it gets really hard for me to follow
Or more than two inputs
 
@DJMcMayhem So APL's tacit functions will be natural for you. Also, as you probably know by now, APL uses atoms and quicks (called functions and operators in APL lingo).
E.g. + is a function and / is an operator here.
looks like a stylised photo selfie, so it changes a dyad into a monad by using the lone argument as both arguments. Like Jelly does implicitly if you start your link with a dyad but only have one argument.
So you can use ×⍨ to square, i.e. lit. multiply-self.
 
6:37 PM
OK, and monadic functions are prefix? e.g. ×⍨4 not 4×⍨
 
@DJMcMayhem Correct.
And you've got summation down, so the sum of the squares can be written as +/×⍨
 
How would I actually call that with user input to see if it works?
 
@DJMcMayhem Try it online!
Or you could replace the 3 4 with a of course.
 
Perfect. So assign to f, the function +/×⍨, then assign to the output "f(3 4)"
 
I tend to do it like this for byte counting purposes, and to avoid having to make output explicit. (TIO's "Input") is actually what one would type into the REPL.)
 
6:41 PM
I find it interesting how ⎕← is output and ←⎕ is input
 
@DJMcMayhem The symbol (called "quad") is a stylised computer console, so ⎕← means put into the console, and ←⎕ means get from the console.
 
@Adám Is there a way to explicitly refer to arguments in a function?
 
@DJMcMayhem You can also use an anonymous function inline: (+/×⍨)3 4. In fact, in this case, you could even use the expression +/×⍨3 4 which just calls the two prefix functions without ever combining them into a single function.
@DJMcMayhem Well, in a tacit function, obviously not. You'd have to refer to them my means of a no-op function. A⊣B gives A and A⊢B gives B, so those two functions can be used to address the arguments without modifying them. In an explicit lambda, we use the symbols and for the left and right arguments (the letters being at the left and right ends of the Greek alphabet, respectively).
APL has three functional forms: tacit, lambda, procedure.
You can e.g. write the sum-of-squares function as the lambda {(⍺*2)+(⍵*2)}
Or {+/×⍨⍺⍵} for that sake.
 
No space needed? Not {+/×⍨⍺ ⍵}?
 
@DJMcMayhem That's being nice to the reader :-)
 
6:49 PM
@Adám Would {⍺+/×⍨⍵} work?
 
@cairdcoinheringaahing Yes, but it means something entirely different.
 
@Adám What does it mean?
 
The moving sums of the squares of with window length .
Btw, APL is much more fun to play with in a REPL than on TIO.
 
@Adám Why does ⎕←+/2*3 4 work, but f←+/2* does not?
I'm trying to figure out how I'd do this without ×⍨, and so I'm starting with "sum of 2^input" rather than "sum of input^2"
 
@DJMcMayhem Because the * needs two arguments. You can tell it to use the unmodified argument with f←+/2*⊢
@DJMcMayhem A second functionality of is that if you do provide two arguments, it commutes them. so 3÷⍨6 is 2. So you can do 2*⍨⊢ to square the right argument.
@DJMcMayhem Alternatively, you can Curry (or "bind") an argument to a function using . So the square function can be written as *∘2
You can also write ×⍨ as ⊢×⊢ i.e. right-arg times right-arg.
 
7:01 PM
Where would I find commands like , , or in the docs?
 
@DJMcMayhem Do you seek documentation for them, or a way to find them if you know what you want, but don't know how to/what does it?
 
Uh, both I guess?
 
@DJMcMayhem How to and language elements
 
@Adám Thanks, one last question (for now). Why doesn't f←+/⊢*2 work?
 
@DJMcMayhem No problem (always feel free to ping me in the APL Orchard). APL distinguishes tacit function phrases from plain expressions by looking at what's on the far right. If an array, then this is an expression, but if a function, then this is function. 2 is an array, so it just starts evaluating Σ0+e²
 
7:10 PM
What? Where does e come from?
 
unary * is e^
 
@DJMcMayhem ^ Many functions have related monadic and dyadic form, with the left argument taking a default value.
E.g. - takes 0 as default left arg, and ÷ takes 1 as default left.
 
OK, so it's really monadic *
 
* and (log — looks like a cut-though tree log too!) take e as default left.
 
OK, so that explains why f←*2 for example is e^2. Why doesn't f←⊢*2 treat (the right argument to f) as the left argument to *?
It seems like f←*2 and f←⊢*2 give the exact same results
 
7:15 PM
@DJMcMayhem Yes, because monadic is the identity function.
(That's why I wrote 0+e² with 0+ indicating a no-op)
It isn't actually 0+ as it works on any data, not just numbers.
 
@Adám I still expect the identity function to return whatever we pass to f
 
@DJMcMayhem Yes, but f doesn't even become a function here, but rather the result of the expression, i.e. an array.
You can write f←⊢*{2}
{2} is a lambda which ignores its argument(s) and returns 2.
 
Hmmm, OK. So ⊢*2 is id(e_to_the_power(2)) but ⊢*{2} is power(id(), lambda: 2) Is that correct?
 
@DJMcMayhem Yes.
 
And id() always returns the right argument to the function?
 
7:22 PM
@DJMcMayhem Well, does. prefers the left argument.
 
Right, because both of them work with 0, 1, or 2 arguments?
 
@DJMcMayhem Not 0. That'd just be the function itself.
 
So then what's the argument to in ⊢*{2}?
 
@DJMcMayhem When applied, the argument of the entire function as a whole. Before that, nothing.
@DJMcMayhem Maybe I should make it clear that functions of the form (f g h) where each letter is a function are equivalent to {(f ⍵) g (h ⍵)}.
And (A g h) where A is an array is equivalent to {A g (h ⍵)}
 
That does help a little
 
7:31 PM
However, f g B is simply f (g B)
 
@Adám Do you have a good CMC to help me practice?
 
@DJMcMayhem Given two list of equal length, A and B, how many elements of A appear in the corresponding position in B?
 
Well as a full program, you can do ⎕←+/⎕=⎕
 
Nice.
@DJMcMayhem Also (f g) is {f (g ⍵)}
 
So +/= is an entirely valid answer
 
7:40 PM
Absolutely.
 
And you could do ⎕←1 2 3 (+/=) 1 4 5 or f←+/=\n⎕←1 2 3 f 1 4 5
I got tripped up because I was trying 1 2 3f1 4 5
 
@DJMcMayhem APL's statement separator is ("diamond") 'cause diamonds are unbreakable.
@DJMcMayhem Yeah, f1 is a valid name.
@DJMcMayhem Given N, what is 1+2+3+…+N?
 
Well, I could either generate the range and sum it, or do n(n+1)/2. I'll try both :P
 
7:55 PM
 
@DJMcMayhem Perfect.
@DJMcMayhem Given a number positive integer N, determine if it is a prime.
(Don't worry about efficiency.)
 
8:13 PM
@DJMcMayhem If that's too hard, just do σ₀(n) which is the divisor-count function.
 
@Adám I just got f←⊢=(×/⊢∨⍳), but unfortunately it fails on 1
But there was a lot of trial and error for where should or shouldn't go
 
@DJMcMayhem Well, you could always insert 1∘≠∧
@DJMcMayhem Btw, that's very clever. I had a much simpler approach in mind.
A|B modulus, i.e. the division remainder when B is divided by A (observe the order of arguments here!)
So ⍳|⊢ is the division remainders when N is divided by 1…N.
0=⍳|⊢ gives which pairs divide evenly.
+/0=⍳|⊢ is the number of divisors.
2=(+/0=⍳|⊢) is "prime?"
@DJMcMayhem Do you want more exercises?
 
Maybe later :)
 
np. You already know that I'm usually around for this ;-) I hope you had fun.
 
@Adám I like that solution more
 
8:23 PM
@Adám Have you had a look at the JHT exercises? Could be interesting to see how APL compares
 
:-D
@cairdcoinheringaahing Yeah, I did them once — except the "eval" ones, which are trivial but boring.
 
To fix my solution you could do f←(1≠⊢)∧(⊢=(×/⊢∨⍳)), but that's getting pretty verbose
 
@DJMcMayhem f←1∘≠∧⊢=(×/⊢∨⍳)
or alternatively f←1∘≠∧⊢=⊢(×/∨)⍳
 
What does compose do?
 
@DJMcMayhem In this context, it binds (curries) an argument to a dyadic function, making a monadic function.
So +∘1 is the increment function and -∘1 is the decrement function.
 
8:30 PM
Oh cool
 
Just like we had *∘2 as the squaring function (way) above.
So 1∘≠ (or ≠∘1) is the not-equal-to-one function.
 
So my triangular function from earlier could be g←2÷⍨⊢×+∘1
 
@DJMcMayhem Indeed.
 
Cool, this is a lot of fun
Thanks for the help!
 
You're very welcome. That's what I'm here for.
Btw, next week, I'll probably begin a fortnightly get-together for new APLers, in the Orchard.
 
8:33 PM
g←          # g(n) =
  2÷⍨       #   the "divide by two function"
     ⊢×     #   the "n times..." function
       +∘1  #   the "increment" function
 
I plan to present a few problems, which participant will try to solve, and then we'll compare solutions and discuss.
 
The right to left evaluation is interesting
Or
g←          # g(n) =
       +∘1  #   n+1
     ⊢×     #   times n
  2÷⍨       #   divided by 2
 
@DJMcMayhem Yes, but it makes APL read very much like English: Two divides the argument multiplied by the increment.
2=(+/0=⍳|⊢) reads: Is two equal to the sum of zeros equal to the indices' remainders when divided into the argument?
1∘≠∧⊢=(×/⊢∨⍳): Is one different from the argument and the argument equal to the product of the argument's greatest common divisor with its indices?
+/=: The sum of the equals.
 
@Adám That would make me think the sum of the numbers that are equal.
Like 1 2 3 4 f 5 4 3 4 would be 7
 
@DJMcMayhem English is ambiguous ¯\_(⍨)_/¯
 
8:41 PM
That's actually not a bad CMC. Given two lists, return the sum of the elements at corresponding indices that are equal
 
@DJMcMayhem I can do it in 5 in APL.
 
Hey, I got 5 too!
 
@DJMcMayhem Care to share?
 
@DJMcMayhem That's what I had too; +/=×⊢
CMC: Given an integer list, sum the elements that are equal to their index.
 
8:50 PM
lambda l:sum(a==b for a,b in enumerate(l))
 
@DJMcMayhem And in APL?
 
I'll try it later ;)
 
uh
wouldn't that just be the number of elements that are equal to their index?
not the sum?
 
Oh you're right
 
lambda l:sum(a*(a==b)for a,b in enumerate(l))?
(Are you allowed to multiply a Boolean by a number?)
 
8:53 PM
yes
 
they are just numbers, there's like no context where True and 1 are different
 
@FrownyFrog In APLs, true and false are just 1 and 0.
 
and plain C
and python, pretty much
 
I mean, even in C++ and Python, true/false are just different names for 1/0
 
But if you stringify them, they don't match any more, do they?
 
8:57 PM
no
 
So then they are distinct.
 
yes
 
@DJMcMayhem 45 in PowerShell Try it online!
 
Why would one want to keep them distinct‽
 
Unless I didn't understand your CMC
 
8:59 PM
@AdmBorkBork you don't need the *2
 
Oh, I see now
 
@Adám better understanding of types? if a variable is 0 or 1 it's quite normal to think it's just a number whereas True/False specifically says it's a boolean
 
@Adám And IIRC, True is 1 returns false in Python
 
@cairdcoinheringaahing Right. So is== Hm :-(
 
>>> (lambda: 1) is (lambda: 1)
False
>>>
 
9:05 PM
!
 
@DJMcMayhem Yeah cause lambda: creates a new thing in memory each time
Whereas True and 1 already exist
 
I know :P
 
@cairdcoinheringaahing Define "already exist"?
1E400 is 2E500
 
@Adám No idea, I only vaguely remember the hardware side of computing
 
@Adám True
 
9:10 PM
@Adám they're constant objects. is checks (afaik) for exact reference equality
 
more fun is (5*2) is (5*2) vs (500*2) is (500*2) :D
@Adám you're cheating with ⎕FR←1287 :p
 
@dzaima I don't get it. Both give True, no?
 
@Adám the second doesn't
 
@dzaima How is that cheating? Otherwise APL will just refuse those numbers.
 
9:12 PM
 
@Adám oh, i was testing in python 2. idk what's happening there ¯\_(ツ)_/¯
 
@dzaima Oh, they both become inf. I see. So APL is just stricter on overflows.
@dzaima So in Python 2 ∞≠∞?
 
@Adám == ≠ is
 
\○/
 
9:16 PM
@Adám no? i was showing that more to display how python stored numbers (as they must be objects on the heap), but i have no idea what's happening in python 3
 
y'all with your fancy is operator
 
APL has too, but we still don't care about memory addresses.
 
ah nope, strangeness happens in Python 3 too (note that 10**1000 is a proper bigint)
@Adám right, but often you want to (less so with ints, more so with arrays or custom types which APL doesn't even really allow for)
 
@dzaima You can use objects. They're distinct even if functionally identical.
 
@Adám you can't override = of a custom class though, can you?
 
9:21 PM
@dzaima Not yet. Coming soon.
 
@AdmBorkBork Brainfuck over here like: Y'all with your fancy "operators"
 
@Adám You can just ignore Pythons is and continue on, just as you could add an is equivalent in APL (though its behavior would be very strange & mostly pointless due to APLs immutability)
 
9:53 PM
Howdy everyone! Hope y'all having a good whatever-your-timezone-is today.
 
@Jono2906 Hey, what do you have against people living on the poles‽ ;-)
 
@Adám well, they could fall off, and I don't want to cause that to happen! ;-) :P
 
:-D
 
(-:
 
10:21 PM
@Adám APL, 10 bytes: +/⊢×⊢=(⍳⍴)
But I suspect that ⊢×⊢= can be shortened
 
@DJMcMayhem Not that I can see. You can shorten (⍳⍴) to ⍳∘⍴ and btw, you should get used to using instead of if you just want the count of elements (major cells) and not the entire shape of the array.
 
Oh yeah, duh. I tried that, but I assumed that it was wrong because I was thinking in postfix so whoops
 
@DJMcMayhem Have you ventured into multi-dimensional arrays yet?
 
Not really
 
@DJMcMayhem Try 3 4⍴⍳12
 
10:27 PM
That's about the one thing I did try with multi-dimensional arrays haha
 
@DJMcMayhem Now compare +/3 4⍴⍳12 with +⌿3 4⍴⍳12
 
That's cool!
 
Try these three monadic functions on a matrix: ⌽M ⍉M ⊖M
 
Having run the first two, I'm guessing the third one vertically flips the array
 
@DJMcMayhem Yup.
Now try giving ⌽M and ⊖M an integer left argument.
 
10:40 PM
The symbols remind me of a puzzle in the game celeste
 
:-) You'll certainly never forget what they do now.
 
 
1 hour later…
11:44 PM
who do i talk to to get a meta post of mine purged?
 
@totallyhuman Can you not just delete it?
 
has positive scored response
 
@totallyhuman You should be able to flag it for moderator attention.
 
ah thanks
 

« first day (3217 days earlier)      last day (1609 days later) »