2:00 PM
do we have to handle `https://foo.github.io` -> `https://github.com/foo/foo.github.io`?
yes
Dear SO: Not only do I truly not care whatsoever, there's nothing I'd less rather do than listen to something find out about it
10
can https be omitted
no
i am making it harder
I have a challenge
and I'm posting it here as a prelinimary
**CMC**: map an integer into a string, given a set of characters to do so in.

Rules; must be bijective.
2:07 PM
what domain of strings
for now, just printable ASCII
is it good, and moreover, is it possible
@pxeger I've never understood the rise of podcasts tbh
me neither
same
@pxeger Especially given that I can read the announcement post about it, that has likely been vetted multiple times by SE's PR department
2:13 PM
@PyGamer0 Python snippet: `import math;print(math.sin(int(input)))
Rather than listen to someone try to explain it in a less refined way
@StackMeter Python 2, 63 bytes: Try it online!
so yes, it is doable
@pxeger may I ask, how would one reverse this
@StackMeter Python 2, 59 bytes: Try it online!
@pxeger Isn't that just base conversion?
2:19 PM
@cairdcoinheringaahing it's bijective, though, because of the `1+` (decoding) and `-1` (encoding)
@PyGamer0 Jelly, 6 bytes
@pxeger I put in -57 and it broke
Oh, is it supposed to accept negative integers?
yes
If it wasn't I would've said POSITIVE integers (emphasis mine)
@StackMeter or whole numbers
2:26 PM
i think whole numbers = integers
@hyper-neutrino exactly
you could also use "natural numbers" - there is ambiguity as to whether that includes 0 or starts at 1 but if you wanted a bijection from N to set of strings i think allowing both makes sense because of indexing and such
anyway, it's trivial to make a bijection between N and Z anyway
@hyper-neutrino then do that
well there's probably a better way than just stealing pxeger's solution and adding an N<=>Z layer on top of it
2:47 PM
@StackMeter Extended Dyalog APL, 5 bytes: `⌂adic` Try it online!
doesn't work on negatives which is required by a clarfication :c
So we just need to map all ints to non-negative ints.
mhm
which is pretty easy, you can just double, abs val, and increment if negative (or if positive)
there's probably an even shorter way
Exactly.
@hyper-neutrino The Hilbert's Hotel bijection :P
2:52 PM
er, decrement, i meant
otherwise `1` is not reached
`{(2×|⍵)-⍵>0}` ? probably suboptimal
CMC: silliest N <=> Z bijection
"Generate the sequence `0,1,2,3,-1,-2,-3,4,5,6,-4,...`. Get the index of the value in that sequence" (That's Z -> N, N -> Z is obvious)
@StackMeter Extended Dyalog APL, 13 bytes: `⌂adic∘(>-⍨2×|)` Try it online!
stack all infinity numbers in N vertically and knock the tower down, and now you have infinite numbers to both sides and therefore Z
@hyper-neutrino Looks good. ^^ is golfed using my own extension to `>` where it takes a default left arg of 0.
2:55 PM
oh, cool :D
magnitude, double, and subtract (is negative?) ?
(as opposed to subtract from, hence the ⍨?)
@pxeger Describe each element of Z, order those descriptions lexicograpically then map to N :P
@hyper-neutrino Yes, `⍨` moves the right argument to the left side (and the left to the right, if a left exists)
@pxeger Ask the SO user with the user id N for a unique member of Z, write those down :P
ah, okay. so it lets a dyad be called monadically and just reflects the element to both sides?
2:58 PM
@Adám I think that's equivalent to `@` in Jelly
@hyper-neutrino Exactly.
@cairdcoinheringaahing well, since jelly links are fixed arity, not quite but yes it's the same concept
Oh, so it's ```, not `@`
it's both
because APL functions are variadic :p
2:59 PM
so ⍨ forces the dyadic representation to be used
so `f⍨ x` is `x f x` and `x f⍨ y` is `y f x`
@cairdcoinheringaahing More correct to say that Jelly's ``` and `@` are equivalent to `⍨` :-)
true :P
@hyper-neutrino And a trick: `f⍨⍨` leaves the args where they are if used dyadically, but uses the right argument also on the left if used monadically.
oh cool
so that is pretty much what ``` is equivalent to I think?
(although ofc that uses the left arg cuz jelly is LTR)
@hyper-neutrino It's equivalent to `f`}``
3:01 PM
ah
Wait, no
is there a thing to convert a monad into a dyad ignoring one half? as in `x F? y` is the same as `F y` (or `F x`, interested in both)
(the equivalent of `{` / `}`)
... I don't think you can find an equivalent
i'm not sure you can say there even is a direct equivalent because the whole point of `⍨⍨` is how it interacts with variadicity, if i'm reading this right
because there is no such thing as calling a monad with a right argument in Jelly
I get why that works, and what happens, but: Try it online!
3:07 PM
wait, what
so it squares it so val is 25, and then starts an inverted dyadic chain using 2, 25 ?
No
That uses 2-2-1 chaining, meaning the monad `²` is a dyadic chain with `5` on the left and `[2,5]` on the right. The monad just ignores the right argument and returns `25`. It then passes to the 1-chain, which halves it
oh, right...
wait what does 2,2,1 do??
It's 2-2, 1
oh i thought it was its own rule that i'd somehow forgotten
ok
so it calls square on 5 and (5, 2) - which is just 25, and that gets halved
The second one uses 1, 2-1, so it works as you'd think
@hyper-neutrino Yes
3:11 PM
but in a monad, it squares, and then inverted pairs with half, so `H,²`
I don't get that one
lmao
um... ??
that is hilarious and also what
so the `ð` is a no-op assuming i'm not stupid
it should be
3:12 PM
removing the last one gives `3` as expected
@hyper-neutrino wait what
@cairdcoinheringaahing 2,2,2 chain
means it's `pair(left-arg(5, 2), id(5, 2))`
@cairdcoinheringaahing 2,2,2 chain means it's `pair(left-arg(5, 2), right-arg(5, 2))`
Oh right, oh course
@hyper-neutrino That makes sense
that explains `ð_ð` as well
it's a 2,2,2 chain meaning `subtract(id(x, y), id(x, y))`
3:14 PM
ofc
@hyper-neutrino so this is a 2,2,2 chain meaning `subtract(id(x, y), pair(x, y))`
What about `ð_ð,`? That's `sub(id(x, y), pair(x, y))`, which ofc yes
and then `ð_ð,` follows from that as well
so `x - [x, y]` which is why we get `[0, x - y]`
@hyper-neutrino `⊢∘f` or `f⍤⊢` in APL.
3:15 PM
⍤ nice
12 hours ago, by caird coinheringaahing
Proper elegance and cleverness is almost always from good dyadic usage and from clever chaining
or in this case, total chaos and confusion :P
What about 2 of them: `ð_ð,ð_ð` :P
the thing about jelly (most of the time, at least) you look at really weird things and it looks so confusing and wrong but once you break it down piece by piece it eventually all clicks together and figuring it out is pretty rewarding :D
yeah
@cairdcoinheringaahing ಠ_ಠ_ಠ
2,2,2-2,2?
@hyper-neutrino -5 :P
3:18 PM
except in the case of `ƙ` the reward is just a different kind of confusion
start with `subtract(id(x, y), pair(x, y))` and then `subtract(v, id(x, y))`
@UnrelatedString i mean i think we finally figured that one out
we definitely figured it out
but it still leaves the question of why
and then next time we'll forget again and need to figure it out again /hj
@hyper-neutrino It's the same as `¹_,_ḷ`
Or `_,_ḷ`
3:20 PM
wait why would those be the same
wait what
oh it's cuz you're calling it monadically
shouldn't the `¹` completely change the chaining
so 2,2,2 doesn't happen
Which is `_,` and then passed to `_ḷ`, which is two 2-2 chains
3:20 PM
yeah
yeah sorry i didn't realize this was monadic
I think that by our rules, we can require a blank left/right argument to a link, in order to change the parsing
Don't think I've ever seen it done tho
if it's ever come up the program probably just started with `ð`, although that would make the right argument the same as the left instead of an empty string (?)
@UnrelatedString yes
3:27 PM
> The innovative Go Notation is syntactic sugar for the highly sophisticated mathematical construct of Gonads which are used for J/O (Haskell's alternative to I/O). Gonadic J/O is practiced by very few and understood by still fewer; the Haskell expert will be adept in their handling of Gonads.
@hyper-neutrino no
iff the right arg is absent
> Haskell is an obscure, hated and mostly disused esoteric programming language named after the planet Haskell, a large and moving planet orbiting Aldebaran. It was developed in 1969 by Donald 'Waddler' Duck, in collaboration with Adolf Hitler
that's impossible! Hitler died in 1945
@user ok i just looked up what gonad means and ಠ_ಠ
3:34 PM
Imagine not knowing what gonads are
i think i have heard the term before but forgot what it meant
> JavaScript is a general-purpose programming language who receives huge amounts of undeserved hate from many different people across the globe. In spite of this, the ungrateful haters who only see one side of the story never understand that they would simply not be able to express their distaste for the language for other people if not for JavaScript.
duckduckgo `!d gonad` ftw
3:35 PM
@pxeger `s/Haskell/JavaScript/` :P
me: JS is ugly
also me: writes my code to look like:
`let _gt = (x, y) => yunoify((x.type == "sequence" ? (y.type != "sequence" || _seq_gt(x, y)) : (y.type != "sequence" && GT(x.type == "number" ? x.value[0] : x.value.charCodeAt(0), y.type == "number" ? y.value[0] : y.value.charCodeAt(0)))) ? 1 : 0);`
what's a yunoify?
You think that's ugly? Look at this Haskell example from Uncyclopedia:
```let_in =let in'let'in=let in let in" let" in
let in let
let'in let_ _in =
let_>>_in in
in'let'in++
let in_let'in=let
in " let in let" in let'in
in_let'in in'let'in```
convert into yuno's internal representation
@hyper-neutrino this is excellent, idiomatic, everything i want my code to be
3:36 PM
@user tf is this
@RecursiveCo. yuno know what yuno is?
@hyper-neutrino `fix\$(<\$>)<\$>(:)<*>((<\$>((:[{- Jörð -}])<\$>))(=<<)<\$>(*)<\$>(>>=)(+)(\$))\$1`
beautiful
no I don't really know what yunoify is, internet searches yielded nothing useful
The Java article's fun too (warning: slightly NSFW)
yuno is my new golfing language lol. interpreter, github, se room - link joins room
3:37 PM
Oh no wonder
@user that first quote from the pope tho lol.........
STDERR: "[object Object]"?
Uncyclopaedia's sister sites include: UnNews (news on crack), Undictionary (best left unsaid), and Why? (because)
> we won't de-platform you for your views, as long as they're funny.
3:39 PM
@hyper-neutrino Sounds exactly like something the pope would say :P
If you type "abc" (without quotes) into the yuno interpreter
#cancelculture, look they're deplatforming people!!! :P
> What makes Uncyclopedia great is that it's a satire of an encyclopedia, kind of like The Daily Show is of television news
@pxeger Thank you, you just helped me waste the rest of my day
3:39 PM
wait why am i throwing a sequence ??
idk, at least you're not throwing chairs
@pxeger but TDS is a left-wing no politics please
maybe the chair is an eyesore
oh `a` and `c` are not defined
`b` is base conversion so you're trying to convert 0 to base 0
3:40 PM
wow candice is pretty good
i should use a more descriptive error message
just make every error message, no matter what, `[object Object]`
@Razetime No she isn't, she keeps trying to get Phineas and Ferb in trouble!
@RecursiveCo. Vanilla HTML+CSS FTW. Who needs JS‽
WAIT NO. i'm supposed to be returning that value ...
i typed `throw` instead of `return` lol
3:41 PM
the classic
@cairdcoinheringaahing mmm
and you can throw whatever the hell you want in JS
@UnrelatedString either that or
@Adám try writing a chat app with only HTML+CSS.
3:41 PM
`could not infer valid type for program`
oh yes
@Razetime I hate Husk's errors
this error is the error that has caused me unimaginable pain and suffering
@RecursiveCo. I've done that.
3:42 PM
May I see? I'm interested
@Razetime Imagine using Urban Dictionary instead of ligma
@cairdcoinheringaahing imagine
sighs What's ligma?
LIGMA BALLS LMAO
bans pxeger
3:43 PM
my plan with perhaps errors is that i'll aim not to have any errors except for a digraph builtin that errors for challenges that need you to error
so then i can just make that error message whatever the hell i want
Although let's try to keep the room a bit more friendly from now on (cut back on the swearing/inappropriate jokes a bit) :)
@pxeger lmao I didn't expect someone to actually say it
3:44 PM
@cairdcoinheringaahing Okay, just keep an eye on Joe
@user well I was kinda thinking the Maryland effect had kicked in on that joke at this point, but on reflection I don't think it has
@cairdcoinheringaahing I know what it is, I just took one for the team
i definitely thought you meant something else by maryland
prior to the edit
@UnrelatedString ???
3:45 PM
@RecursiveCo. I don't have it at hand. Was pretty simple: Just a form and a central server serving all current messages upon requests. Of course, you'd only get new messages when you spoke or reloaded the page.
maryland has a good flag though
in a normal way
@pxeger I know what my state's flag looks like lol, I was responding to Unrelated String
but yeah it absolutely has
that just happened long enough ago that it's falling back off
@Adám Wow. But what did you use on the backend? Obviously all chat apps must have a backend.
probably APL knowing him
3:47 PM
yeah probably
or php
speaking of which somehow to you people JS is worse than PHP
why would anybody willingly use php
@user Ligma is a recently discovered medical condition with the first recorded case in 2019 and studies dating back to around March of 2020. It was first discovered in Sawcon in a patient known as Candice, who was traveling to Sugma at the time and is believed to have contracted the disease from a wild fox.
@hyper-neutrino What did the fox say?
like js i can understand, cause it's needed everywhere in the web
idk why fox. couldn't think of more unfunny memes. but also ^^
3:48 PM
@hyper-neutrino You forgot Joe
@user wHo'S jOe
JOE MAMA GOTTEM
@RecursiveCo. `abc` should no longer error and `b` functions as intended now
@hyper-neutrino joe NuTs
i vaguely remember hearing that php was slightly easier to use as an overall technology than other things you might use for whatever the hell you use it for when it was made
3:49 PM
What did the sensei say?
@hyper-neutrino Frankly I didn't know how to use the language and just put in abc to test the UI cause I figured it would error. But is it actually a valid program?
@RecursiveCo. Hi, would you like to learn karate?
@RecursiveCo. omae wa mou shindeiru
@hyper-neutrino I mean, Lyxal's entire existence points towards one very well known unfunny meme: sus
@user no
@RecursiveCo. well `a` and `c` are currently undefined and `b` is "convert (left) into base (right)"
so `b` with no arguments is "0 in base 0" which is `[0]`
3:50 PM
@RecursiveCo. Wax on. Wax off
Wax on. Wax off. Wax on. Wax off. Wax on. Wax off. "When am I done?" "Wax on. Wax off." Maximum recursion depth exceeded.
@cairdcoinheringaahing you mean? pig?
@RecursiveCo. The sensei was teaching an AI?
@user what
3:51 PM
yes I watched the movie by the way but I don't remember "Itch knee".
@hyper-neutrino I was trying to come up with something funny
I thought that was one two in Japanese
i missed the reference if it was one :p
ichi ni
OH ichi ni
which sounds
similar
but yeah no lmao
3:52 PM
no that would be "itchy knee" not "itch knee"
well it's actually "ee-chee" not "i-chee" but close enough
lol for some reason I remembered it as itch, knee, san, ...
itchy sandknee
3:53 PM
ichi, ni, san, shi, go, roku, shichi, hachi, kyuu, juu
@hyper-neutrino Looks like I missed the i at the end of shichi and hachi too, then
i mean
the way they
're pronounced
tip: the only consonant a japanese word can end with is n
it's often barely there
itchy knee in the sand: she wants to roku and roll. (rock) She cheats and hachees (hachoos) and queues waiting for her juu (juice). how to make a short story out of japanese numbers
3:54 PM
phonotactics ftw
Nice story
thanks
@hyper-neutrino ban
I once started to try to learn japanese then gave up because, like, well, not sure actually
or hito, futa, mi, yon, itsu, mu, nana, ya, kokono
that's also 1 - 9
3:56 PM
@UnrelatedString This might sound dumb, but I have to ask - does your enter key get pressed automatically every few seconds (or is there something wrong with it)? It always seems like you get interrupted in the middle of typing a sentence and your message gets broken up into several parts
and i probably got some of them backwards between the two
i'm honestly not sure what happens all the time
@hyper-neutrino Wait, there's more names for the same numbers?
@RecursiveCo. あなたはいつでもグーグルトランスを使うことができます
@RecursiveCo. Same
3:56 PM
apostrophe is right next to enter on many layouts - might be why?
nana is definitely 7
@user yes
@hyper-neutrino this is for counting people right
first four are definitely right
no clue otherwise
@Razetime not quite
3:57 PM
wait it is at 7
@PyGamer0 what? Google Translate gave nothing
@hyper-neutrino I'm happy I didn't learn math in Japan :P
one person is hitori and two people is futari but beyond that it's just sannin
that's just 1 - 9 lmao
@RecursiveCo. i used builtin keyboard translate
3:57 PM
counting dates uses this though - hitoka, futsuka, mikka, yokka, itsuka, muika, nanoka, youka, kokonoka
@hyper-neutrino a third set of numbers?
After I started learning French and German in school, I couldn't really be bothered to learn a 4th language so I gave up on Japanese
that's more or less the second one
kind of
@ngn it's pretty much just the kun'yomi readings but with some modifications
Plus, I was teaching myself Japanese and learning the other 2 in school
3:58 PM
@ngn it's more like "first, second, third" rather than "one, two, three"
The fact that this discussion started because of "what did the fox say" shows just how much we all love foxes
no we only like a single wolf
@RecursiveCo. what did the fox actually say?
@RecursiveCo. I thought it started because of Ligma
But only if it's a specific color
3:59 PM
@Razetime Fear might be more accurate...
@user no someone said what did the fox say and then I said what does the sensei say and then people started arguing over Japanese numbers for some reason
Oh ok