7:00 AM
this is the same keyboard layout that all the Jelly characters come from

5 messages moved to Sandbox

@Nobody ik its mariolang, but what does it do??
@hyper-neutrino ah, as expected
saw that one coming

the APL keyboard is actually kind of helpful especially when i'm typing formal logic stuff on discord

@AidenChow make the memory

@ais523 Re:Direction?

7:01 AM
apl as in the coding language ?

2/3/5/8/.../144/233/0/1/2/3/.../9/10/11
how do i check if a num is neg?
Mariolang

@emanresuA that uses a different set of arrows, which I didn't memorise how to type

i know the pseudocode

@Nobody the brainfuck thing not work ?

7:01 AM
checking whether a number is negative in bignum brainfuck is surprisingly difficult

@AidenChow well

because if you set off in the wrong direction and keep going, you get into an infinite loop, so you have to reverse direction every now and then and reverse all your progress

[] in brainfuck is very messy in mario

oh negative, u were asking for checking if one num is greater than another earlier, got confused with that

both works

7:03 AM
the competitive game BF Joust is pretty much based on that principle

is checking a number negative even doable in bf?

yes

like maybe you can do

can you even copy a possibly-negative bignum from one cell to another without knowing its sign already

find its sign

7:03 AM
that really does seem hard

;-)

it is possible, and uses basically the same code as checking for negative (you just copy all the changes you make to it to another cell with reversed sign)

checking for negative (: code?
:)

but it's way more complicated than most algorithms, and has quadratic performance

yikes

7:05 AM
@ais523 how
code
;-)
i suppose like -++----++++++++----------------++++++++++++++++++++++++++++++++ and every time check if it is 0???

the pseudocode is something like: x = 0; for(;;) { check if the cell is x, and break if it is; check if the cell is -x, and break if it is; increment x}

oh
nice
ok
input
make sure input is not 0
>+
[-<+>>+<]
check if 0
something?

you can reduce the constant factor by checking a range of values near x rather than a single value
hmm, I wonder if that makes it possible to run faster than quadratic? say you check the numbers from n to 2n, then from -n to -2n, then from 2n to 4n, then from -n to -4n, etc.

is there a way of making this code more efficient?

something I've been thinking a lot about recently is in Turing tarpits

7:08 AM
@ais523 calculating n and 2n and looping might take time

@Nobody bruh not gonna read through all of that

@Nobody it does, but it may still save more time than it costs

CMC: convert from unary to decimal

unary as in a bunch of 1's ??

@AidenChow the important part is this

7:10 AM
@AidenChow yes

can that be taken as a string ?

how

@AidenChow yes

if so, u can do `lambda s:len(s)` in python right

what is unary
like 11111 => 5

7:11 AM
@AidenChow yes

@AidenChow yes i think so

k cool

ngn/k 1 byte: `#`

I think technically the "represent a number as that number of 1s" format is called "bijective unary" but people abbreviate it to "unary"

is unary like 11111=>5 and 11111111111=>11?

7:12 AM
@Nobody most likely yes

well then

CMC: Convert unary to decimal but the input is given as an integer: `1111111111111` not a string

easy, len(str(i))
python's sum module is stupid

@Nobody python has a sum module?

@PyGamer0 Desmos, `f(n)=floor(logn)+1`

7:13 AM
just `DS` in jelly lol (digit sum)

just `#\$` in ngn/k \o/

pretty sure best method in python3
python2: len(`i`)

just `l` in brachylog :P

@PyGamer0 sum(1,2,3)=6, sum([1,2,3])=6
but say
sum('1','2','3') won't work

well you'd need to make it a function for it to be a valid submission so `lambda x:len(str(x))` or `lambda x:len(`x`)`

7:15 AM
@hyper-neutrino was alzy

@Nobody well sum has a starting value of 0...

@PyGamer0 yah
which is why i say it is stupid
why not just

try `sum(['a','b'], '')`

from functools import*
reduce(lambda x,y:x+y,['a','b'])

oh that doesn't work
@Nobody you can just use `"".join(...)`
```Traceback (most recent call last):
File "/ATO/code", line 1, in <module>
print(sum(["a","b"],""))
TypeError: sum() can't sum strings [use ''.join(seq) instead]```

7:16 AM
{1,2},{2,3},{4,5}

@Nobody do you want vectorised sum or what?

if you want union that's `|` which you'd have to do with a reduce
if you want vectorized sum you can't use sets cuz those aren't even ordered

i know there's also a union function somewhere

cant do vectorized sum on sets cuz they not ordered im pretty sure
oh lol said the same thing at the same time

7:18 AM
@hyper-neutrino union

okay yeah it's literally the static `set.union`

oh that's one byte shorter than `set.__or__` lol

lmao

@Nobody `foldl(set.__or__, {}, ...)`

@UnrelatedString `set.union` isn't static; it's an unbound method, so its first argument must be a set. (the following arguments can be any iterable though)

7:19 AM
oh
i actually had no idea it accepted non-sets for the following arguments lmao

CMC: Vectorised addition sum. `[[1,2],[3,4]]` -> `[4,6]`
CMC: Build an n×n multiplication table.

@PyGamer0 just for list of lists right, and each list length is the same ??

@AidenChow yeah
^ both my cmcs in k

@hyper-neutrino Does `{}.__or__` work?

`{}` is a dict, not a set
it would have to be `set().union`
or, if you don't mind having a random extra thing in your set, you could do something like `{id}.union`

7:25 AM

Please be mindful of how much stuff you put in the chat

wait if the first argument of `set.union` must be a set but the second can be a list, does that mean that it always iterates over the second, even if the first is shorter?
like if I do `set.union({ 10 items }, { 5 million items })` will it be fast or slow

@pxeger Huh, when you try to reply to a moved message, the reply gets removed

@PyGamer0 `Sum` in Geogebra (at least i think thats valid as per code golf rules, mathematica has builtin answers all the time :p)

7:27 AM
i'd imagine it does something to not naively iterate on sets
probably checks the type

@pxeger Huh - I geuss it's in another room

@hyper-neutrino if the second one isn't a set, it will be converted to one, which means it has to iterate over the others

I like these new RO tools but I'm kinda worried that I'm being a bit trigger-happy

are mod names italic in chat?

7:28 AM
@pxeger right, but if they both are, will it automatically iterate through the shorter of the two
@PyGamer0 yes although I'm not sure if it's because we're always considered ROs, or if mods are just italicized as well as ROs while being separate

@PyGamer0 uh yeah, just look at hyper neutrino's name

@hyper-neutrino why would the speed differ? it has to copy all elements in either case

because sets are implemented as some or another kind of hash table

and?

@PyGamer0 `∑` for the first, `ɾ:"ΠvΠ\$ẇ` for the second in vyxal

7:30 AM
@PyGamer0 RProgN2, 5 bytes. `T#+;)`

i think there are some varieties that would actually just let you compose them some way

@ATaco ;)

but actually yeah no you'd have to copy them both anyhow since it's not in place

actually wait nvm i was thinking of in-place merge lol

and they are mutable, but you're not mutating them yet
so yeah it doesn't matter

7:32 AM
The final ) can be removed if the output can be across the stack

for in-place merge it's clearly faster to add a few elements to a large set than to add a lot of elements to a small set

flax: `Σ` for the first one, `×⌜⍸` for the second one
@ATaco is rprogn2 stack based?

Aye

@PyGamer0 `ɾ:Mvƒ*` in vyxal

My earliest “golf lang”, the name derives from Reverse Polish Notation

7:35 AM
@lyxal did i beat vyxal by 3 bytes 7_7

because there's no outer-product, yes.

Did I beat Vyxal? What a world

@ATaco no, you didn't

Ah…

yeah, the first one is just `∑`

7:37 AM
@lyxal wait, if 0-indexed is allowed then flax is 2 bytes: `×⌜`

can anyone give me a thing that checks if a number is smaller than the other? in marioalang

is it?

yeah

mariolang

lmaooo

7:38 AM
@Nobody `lambda a,b:-a>-b`

@Nobody a<b..?

he meant in mariolang
pretty sure u can just port the brainfuck code i sent earlier tho
looks like very similar code instructions

@AidenChow yeah but it's super big then
because [ ] in bf is a little complicated in marioalng

@Nobody `Its a me mario! Take-a x as input, Take-a y as input. Check-a if x is less then y-a and print-a the result-a. Bye Bye.`
5

@PyGamer0 lmao

7:40 AM
what?

its mario-lang

which

like SPL

@Nobody my own :P

7:41 AM
oh no
MarioLANG
yah

@Nobody its theoretical :P

...
plz

Did you know that flax uses the `₹` as a quick?

bro literally no one here except u knows mariolang

erm...............ok

7:43 AM
Prolly need to work that one out yourself, not sure anyone here has messed with it

ok

looks doable tho, looking at the commands available

yah
if possible and convieneient can you share the link again? thnx

7:46 AM
19

How can I compare two numbers with an inequality? (greater than or less than) I want to compare single digits For example 1 2 5 3 9 2 etc.

2

thanks

8:09 AM
@UnrelatedString If you use `|=` it will mutate it in place

yeah exactly
which is why non-in-place union couldn't hypothetically get away with not copying everything with some funky underlying data structures

TIL you can do `x?:y` in c... (gcc compiler extension)

yep lol

> ISO C99 supports complex floating data types, and as an extension GCC supports them in C90 mode and in C++. GCC also supports complex integer data types which are not part of ISO C99. You can declare complex types using the keyword _Complex. As an extension, the older GNU keyword __complex__ is also supported.

0

This challenge is about implementing Shm-reduplication, originating in Yiddish, where one takes a word, duplicates it, and replaces the first syllable in the second word with "Shm" in order to indicate that one does not care. Some examples include: word -> word shmord baby -> baby shmaby sale ->...

8:25 AM
`case '0'...'9':psh(l[i]-'0');break;`

8:45 AM
TIL C can have operations that vectorise.

Sort of makes sense? C Speaks Computer, and Computers can Vectorize
If C couldn't Vectorize than native vectorization would be a pain

Shhh I'm small brain sometimes

@ATaco yeah vector instructions amiright

Vector Instructions are like regular math but magic.

8:50 AM
(context: i was reading the gcc compiler extensions for c)

3 hours later…
11:35 AM
```// cursed idea: postfix english
dog mat on sat // dog sat on mat
mat on bat a cat a over flew who was sitting // a bat flew over a cat who was sitting on a mat```

12:20 PM

probably for the best lol

12:31 PM
Dang
that makes me the only RO here who hasn't moved messages yet

12:56 PM
@lyxal hmm true

1:09 PM

1:36 PM
@hyper-neutrino The first one
Your name has the classes `username moderator owner`, removing `owner` de-italicizes it

oh I don't know why I didn't think to check that

I mean, I was entirely expecting to have to go into the JS and do some snooping, I didn't think of it either :p

I wonder, if I am added to a private room on another site, will I show as a moderator and/or an owner? (since mods can see all private rooms on their own site only)

1:58 PM
@hyper-neutrino `username moderator owner`

1 hour later…
3:13 PM
i just got chat rolled by emanresu A...

whoah where?

3:40 PM
0

Village Gangs - Max Count In a village there are N people whose identification numbers are from 1 to N. These villagers team together among themselves to form a certain number of gangs. There may be some villagers who are not part of any of these gangs. A combination (i,j) where 1 <= i,j <= N ind...

3:57 PM
^ VTC as stolen from homework site ^

4:11 PM
@NewPosts lol

@PyGamer0 BQN, 0-based, 4 bytes: `×⌜˜↕`
Or 1-based for 6 bytes: `×⌜˜1+↕`
Pip, 0-based, 6 bytes: `B*_MCa`
Or 1-based for 8 bytes: `\$*U GMCa`

4:32 PM
Yo dawg, I herd you like chat so I put a chat in yo chat so you can chat while u chat

@PyGamer0 Here's a one-liner in HBL in 7.5 bytes: `<'(**.,)(0.)(0.`
Also two other solutions that are the same length.

@DLosc is there such a thing as a more-than-one-liner in HBL?

Yeah, the other two I linked are a two-liner and three-liner
That was one of my design goals for HBL: make it so that multiline programs were often the golfiest way to do things. I only somewhat achieved that goal, but there are cases where it's true.

huh

The helper function could be inlined, but then all the close-parens would have to be explicitly included, making it half a byte longer.

4:52 PM

Lol

@DLosc dare i ask why math works like that now

I don't know, dare you? ;)

5:28 PM

okay, so `+12` means `1+2`, and a bit of playing around shows that `+1` is incrementing one?
i still dont fully under stand whats going on here
`1+2` = 16 and `2+1` = undefined

@des54321 This is Lisp (although the outermost parentheses are implicit because golf), so every expression is a function followed by arguments.
So in `1+2`, `1` is the function and `+` and `2` are the arguments.

aha, and youre overloading things an incredible amount so that `1` can mean 1 or addition

*exponentiation, but yes

Why is `''` not a thing?

5:37 PM
Depending on what you mean, the answer is either "because I didn't think it would be very useful" or "because I haven't implemented it yet"
If you mean quoting something twice, I couldn't think of golf scenarios where that would be necessary.
So I plan to use `''` for other stuff.

yeah, I meant why `''` isn't a digraph
also, is `')` a thing?

Yes, the plan is for `'(...)`, `(...')`, `''(...)`, `(...'')`, and `'(...')` all to mean different things.
Can't remember which is which off the top of my head, but one of those is string literals and another is numeric literals.
(and `'(...)` is already list literals, ofc)
And I think I was also planning to have `''xy` be a token for any two characters x and y... it's been a while since I worked on HBL, but hopefully most of the ideas are written down somewhere. :P

oh my god
I just looked up Mario on Wikipedia and:
> Full name: Mario Mario
WHAT
well, here's a actual version of @PyGamer0's code:
```IT'SA ME MARIO!
LET'SA MAKE AN X AND A Y
WHAT'SA X AND Y?
IS'A X < Y?
WAHOO!
TELL'A ME "YES"
OH NO!
TELL'A ME "NO"
OKEY DOKEY
BYE BYE```

6:45 PM
@Ginger yup, i believe its only from the movie (1993) but i guess thats enough for wikipedia so long as its reported on? Lol
@DLosc i wanna hear abt this lang, where do i start backreading?

@thejonymyster github.com/dloscutoff/hbl is the github i believe

ty ty

7:08 PM
Why the frick does Chrome think every terminal emulator I make should be translated from Arabic

ಠ_ಠ

7:29 PM
@PyGamer0 how lol
oic ^^

> geedback

> geedback

```impostor more sus
impostor very sus
impostor very sus
imposter go into of the vents
amogus goes to the next sus town
emergency meeting
impostor more sus
eject "ඞ"
red was the impostor```

Mar 7 at 20:04, by emanresu A
```GAME: [RED, GREEN, BLUE]
RED IMPOSTOR
RED SUS IF INPUT
BLUE SUS RED IF SUS?
BLUE TALK GREEN
EMERGENCY MEETING
WHILE RED IS NOT SUS
VENT 1```

8:11 PM
@emanresuA What are your thoughts about allowing languages that are on ATO as well as those that are on TIO? I don't know if that would expand the pool much, but (for example) Whython doesn't have an Esolangs or Rosetta Code entry yet.

I guess yeah
What do you think about allowing any language used on this site enough?

tangent; your rules cite the original challenge's "It must have a free interpreter (as in beer)."
what does this idiom mean

"free as in beer" clarifies that "free" means in the monetary sense
so not free speech or probably more sensible in the case of an interpreter, free when it comes to licensing

ah works for me
ty
its weird because then it goes on to clarify what it means in the next sentence
but i digress

8:28 PM
"free as in beer" is such a weird sentiment to me, because I have never had free beer :P
The closest is someone buying me a beer, but that's still not "free" :P

I interpreted that as "`beer` is a kind of software".

right same
imo it should be "free (as in beer) interpreter"
so its clarification("free","beer") instead of clarification("free interpreter","beer")

9:31 PM

10:01 PM

It's popular, although I'm not sure it will remain that way after we learn it

lmao

Welcome to the nineteenth Learn You A Lang for Great Good! Today, we'll be learning rSNBATWPL, the last language you will ever learn, for more reasons than one. Feel free to ask @RadvylfPrograms if you have any questions. During the event, feel free to post CMCs to practice rSN (._.MCs), ask questions about the language, and so on.
8

doesn't LYAL start in an hour?

Oh oops

10:04 PM
sorry, 2 hours :P

We can repin that when it starts

Well, that wouldn't've worked for me timing-wise anyway

When does work for you?

Actually, I think my family's off doing some random nonsense tonight, so I likely will be able to at the correct time

nice

10:06 PM
Okay cool :)

All the brackets are curly, this scares me

In the mean time I'll see what I can do to get it running on DSO so we can have permalinks

Ooh nice
It's not a particularly hard language to get set up IIRC, although everything in between the brackets is pure chaos it's relatively well behaved as a black box

“Non’t” now that is a keyword

@RadvylfPrograms Yeah, and I guess I can just copy the polyfill

10:08 PM
@emanresuA and errors that don't hang your browser :)

Unlikely
JS doesn't have a good way to do that

Well, for errors it does
Even non-infinitely-looping errors my online interpreter does weird stuff

What about `{` though?

That's...idk what's up with that
On Node it just throws a max call stack thing almost instantly
On browsers it seems to use up a ton of time and memory with every iteration and can't hit recursion depth

@RadvylfPrograms Does this mean that if I still want to learn other programming languages, I need to put off learning rSNBATWPL until later? :P

10:15 PM
Well, that would be advisable under any circumstances :p

No, once you learn rSNBATWPL, you will instantly know all other languages
Of course, you can never learn rSNBATWPL

In theory, `(Function(text).bind({exports: {module: {}},require:...}))()` should work

Just compile node as wasm and run it like that, this will be perfectly stable trust me.

...
> `var skip = !!0;`
And you complain about me using `.join` ``

I made it a point to be incredibly inconsistent with my coding style
I used `!1`/`!0`, `true`/`false`, `!!0`/`!!1`, and a few other variants of bool literals

10:30 PM
Hmm, now that we have 3 new ROs, could we depose Radvylf?
Preferably also ban him from SE altogether

I should probably move somewhere without the death penalty before writing any more languages
4

You absolutely should
Death is too good for the likes of you. A life in solitary is what you deserve /s

No prison can hold me, I can just redefine null and summon whatever tools I need from thin air :p

10:58 PM
@user that's too easy to escape. What you need is a room full of the letter E and flags.
That'd be eternal suffering for Radvylf :p