« first day (4148 days earlier)      last day (991 days later) » 

16:12
are there any public code golf discords? :]c
@thejonymyster the CGCC one is discord.gg/qkSXsA6kgB but it's not hugely active (compared to SE chat)
there's also esolangs, but that's not so code-golf-specific: discord.com/invite/3UXSK5p
(not related to esolangs.org wiki)
also "esoserver": discord.gg/bUJsVqRen4
How funny
that is a subjective question
But I think you'll find most people's answer to it would be "Not at all"
16:22
statistically, yes
I think if there were an objective funniness metric, that'd have to be at least nonzero funny
also wow ty for all the info pxeger :O
I think funniness is a many-dimensional vector metric
4
16:39
@pxeger "Show that funniness satisfies the triangle inequality"
CMC: find basis vectors for funniness-space
I understand everything about that meme, except for why that meme format was used
4
0
Q: Tell me how many there are, in Polish

Tanner SwettToday, you're going to be writing Polish. No, not Polish notation—Polish, the actual language spoken in Poland. Given a number and a noun, output a Polish sentence telling me that there are that many of that thing, using the appropriate template below. The input consists of an integer in the rang...

@cairdcoinheringaahing have you not seen the original of that format?
@pxeger Yes. Cover yourself in oil, so fly
16:53
thinking covering yourself in oil will allow you to fly = stupid = funny
make a meme pretending to think that = ironic = funny funny
make a meme using that format but where it's not actually stupid = ironic ironic = funny funny funny
@pxeger now replace the text in the comic with this for funny^4
"cover your stupid in irony"
or no, "irony floats on stupid"? idfk lol
ಠ_ಠ Got to love when the error in your code is that it was off by one indent level
wow
can you believe people still use langs with significant indenting :P
@thejonymyster what with my two most used languages having it, I may be biased. But I find it hard to imagine that you can make a mistake with indentation
maybe it's just that my entire mental model of grouping in code is pretty much based on indentation
but why wouldn't yours be too?
no for sure
17:03
@cairdcoinheringaahing gotta love c style lenaguages
@pxeger though sometimes i do think in cgcc style code breakdowns
@pxeger thousands of programmers use tabs to indent every day
ive mentioned this a few times but id love to see an IDE where you can indent downward for aesthetic purposes
as in
user image
5
I spent 10 minutes of my life making that
[     ] //loop
 ab     //something
   ( )   // something
srry i lost track there but you get the idea
like in cgcc
17:06
interesting
ive done it myself while working on programs
just like, in a txt file without it yelling at me that im writing it wrong :P
I have many txt files on my computer full of language designs and shit
it doesnt even have to be particularly smart about when it lets you do it, id be happy if it just let me shift the text downward based on whatever selection
closest I've seen an editor get is overwrite mode (pressing insert) with this weird option that allows it to treat the whitespace after the end of lines as actual spaces (good for drawing ascii art) (the editor was geany btw but others might have this too)
@Ginger same, though most of them get sent off to discord servers first :P
@Wezl'lo-ol' not sure what you mean :o can you show an image or something?
17:09
@Wezl'lo-ol' I rarely press tab (or space) to indent. I let IDLE auto indent for me :P
ayy idle gang ftw
don't be idle
sloth is a sin
sloth is an animal duh
well, if you're thinking while your body is idle
...or does that not count...
then being idle may be worthwhile
(personally I like knitting while sitting)
(* Wezl is somewhat-simultaneously sitting, knitting, tnbing, and coding)
17:15
I really should rename /// to something else. It's kinda hard to search for.
"slashes" is a name I've sometimes seen
for ultimate control in SE searching, you can use SEDE
User Experience™
Yeah, but "slashes" isn't very searchable either.
do it the true esolang way: make 5 derivatives with different names. Then people can use the ones they want
* Wezl imagines... HQ9+///, <>[]+-.,/, 2d-///
rewatching zootopia today and you know what I like a lot? during the scene at the beginning where they do a big panorama thing across the city, they show that the desert and tundra sections are separated by a giant wall with vents that are blowing hot air at the hot sand and sucking in air from the cold side. why do I like this so much? because the wall looks like it's a giant heat exchanger! this is actually technically plausible and I applaud them for doing their research.
("oh no" emoji)
17:19
there, free paragraph
Maybe I'll name it to Restringer. Or Reslasher or something.
ok now i'm actually imgining 2d ///
Oh no.
I have to say that that's an incredibly interesting idea.
the two dimensions would interact complicatedly with how substitutions can change the length of the substituted code
how you know you're in too deep:
instance {-# OVERLAPPABLE #-} {-# OVERLAPPING #-}
(that doesn't work, obviously, but the fact I want to do it worries me)
17:24
like befunge's self-modifying code but where self-modifying is the only way to do things
@TannerSwett oh hey does this mean youre the one who made ///
:D very cool
do it again
Make another equally interesting esolang? I've been trying :D
17:28
nah just rehash /// :P
call it "reslash"
Idea: /// except that the escape character is / and the syntax for replacing is \x\y\
I'll call it...
\\\
make instruction flow rtl and im sold
i'm trying to make one. essentially similar to brainf
i think my most interesting esolang idea is todo, which i am not skilled enough to implement, but it's pretty straightforward
its named and themed after my workflow at work
i have a pile of papers and i either finish the one on top and take it off my stack or move it to the bottom to finish later :P
/// is a great name. The difficulty of obtaining information about it because of search problems just makes it more mysterious and more interesting
17:37
@TannerSwett Don't you mean \\\\\\? :P
/ is the escape character, so /\/\/\
idea: with a special setup, a brainf like language with only 5 chars is possible.
@user Don't you mean \\\\\\\\\\\\? :P
@pxeger I've never left indentation mistakes in, but in languages without significant indentation, it's nice to be able to paste in any piece of code, hit autoformat, and just have everything work
(seconded)
17:40
In Python, I often have to reindent stuff manually when I copy it from else
^^^
That said, if that weren't such a problem for me, I would 100% go with a language like Python (although I dislike Python for other reasons)
lemme guess: dynamic typing?
Yup
Now that I think of it, Slashslashslash would be a reasonable new name for ///, albeit a rather boring one.
17:42
Also just bad memories from when I tried doing machine learning stuff
i thought statically typed languages were such a pain when i first started them, now i cant even look at python for more than a day
Same
My first language was (a crappy subset of) JS and when I started using Java I was like "What do you mean why do i need to do String foo = ...? And why can't I assign numbers to strings? This is dumb"
^
but it saves so much headache afterward
There are two types of programming languages: languages that support static typechecking, and languages that fail to support static typechecking :D
Thankfully, newer releases of Java allow you to do var x=(Object)"foo";x=1;. Huge improvement
17:44
Python, of course, is in the former category.
@user i never used that feature
@user * when I tried machine teaching
when doing java i prefer explicitly typing my vars
Heathen.
:P
You should be grateful that the Creators gave you type inference, basic as it may be. Look at all those programmers suffering in C. You're so much luckier than them
true lol
i still type my lambda parameters
17:47
static / dynamic typing refers to like
types as in string / number / boolean
I'm waiting for statically typed languages to become powerful enough to truly feel like dynamically typed languages
and not... typing as in... when i press on the keyboard
right?
imagine not using a dynamically-typed language
C is fun for the same reason fantasy consoles are fun :P
@user kotlin gets close to that
17:47
There's often a lot of boilerplate involved even in languages like Scala and Kotlin with fairly smart compilers
dynamically typed languages generate code dynamically
My favorite dynamically typed language is C#.
@Ginger ...often not true
@Seggan Yeah, I love the flow typing and I'm looking forward to contracts improving
@thejonymyster It's fairly useful. Anytime you need a 1-character string that's not space, newline, or a digit. I'd guess that happens most often in challenges.
17:48
@TannerSwett Isn't C#'s dynamic stuff meant mainly for interop with other languages?
@thejonymyster Right
when you press a key it uses a markov chain to generate the rest of the program
@Wezl'lo-ol' ... and statically typed code also often is JIT compiled
@thejonymyster simple difference: can you assign a number to a string variable? if yes, its dynamically typed. If no, its statically typed
@user I'm not really sure. I don't think I've ever actually used it.
@Wezl'lo-ol' I think Ginger was joking, given their message about using a markov chain
17:50
yup
@Seggan Nope
You could have a statically typed language where val x = "foo"; x = 1 is totally fine
only if there is a common supertype
It could infer the type of x to be some common supertype of strings and numbers or it could cast 1 to a string
17:51
(I mean that's not the clearest because some languages don't even have a notion of "string variables", static or dynamic)
Yeah
I guess in most cases that's a decent rule of thumb though
I conclude that English is dynamically typed
@user My experience was the opposite: My first language was QBasic, and my second language was a subset of JS. I remember being really surprised that you could assign a number to a variable and then assign a string to the same variable. But now I use Python for most stuff and think static typing is a bit of a pain. :P
@user never heard of such a language
@Ginger "word" is "one". Set "word" to 1. No compilation errors here
@Ginger English isn't typed at all :P
17:53
@Seggan I don't think I have either, but I could totally see a language inferring the type of x to be string | int
I think Crystal tries to be like that
Here's a Scastie with the type explicitly given
yeah, but that explicitly says "x is either String or Int"
not "x is String"
Yeah
You could still have a language that casts 1 to a string though
Scala actually lets you do that
noice
17:58
👀
guess then scala is statically dynamic
@Wezl'lo-ol' If it makes you feel any better they're trying to remove it
You have to explicitly add that import or put in a compiler flag
@Fatalize Ah, nice. I'm not familiar enough with CLPFD to figure out how to use it in Prolog--I'm still occasionally puzzled by it in Brachylog. ;)
Fun fact, Scala 2 has a Dynamic trait that basically lets you access fields and methods on objects without checking if they exist
@DLosc ah, makes sense. Asking cause i'm currently making my own lang and was wondering whether i should implement it myself :P
second question though: what if you do want a single space char?
does it just not work? or is it like, the empty string?
18:07
@thejonymyster theres a 1-byte builtin variabe for a space character
ah, lol
had a lang idea where undefined variables would just pass their name
feature idea
not lang thats not the whole lang :P
@thejonymyster ooh thats a great idea
right, thanks for the idea, im stealing it
pls do
so convenient
surprised ive never seen it anywhere else :P
this is what i envisioned the purpose of MYAL to be
a place where we can share ideas
yesss :]
18:13
through showing off languages and feedback requests
im sure thats what the tarpit was meant to be as well :P but as an event probably works way better
@thejonymyster What des54321 said. You can actually put any character after ' and it'll be a 1-character string literal, it's just that s and n are shorter ways to get a space or a newline.
@thejonymyster Definitely. Most golflangs with 256-character codepages also dedicate a codepoint to making two-character strings; some even have one for three-character strings.
well ive got a 64 character codepage
due to calculation error :P
I stole the 'x syntax from CJam, if memory serves
right ive definitely seen it around, just never understood its significance
18:17
@thejonymyster Then maybe not; it depends on what else you need and what the focus of the language is going to be.
in trying to include as much of ascii as i could i ended up with both ' and " and wasnt sure if i should like.. make them different
im trying to figure out what characters im missing actually i cant remember
besides like, control chars, its missing bactic, tab, and capital letters lol
oh and uh
ok wait ill come back when im sure
ok whatever im rambling :P hi yall any crazy golfs in progress?
@thejonymyster Found a new approach for this that shaves 9 bytes, retyping the explanation now
yay i love explanation
that was the one you were looking at [[1,0...],[0,0...]...] arrays for right
ah yea it is
ive only skimmed over the explanation so far, im surprised that thats part of it :O
18:33
@thejonymyster It's not, in the current explanation. Updating to the new version now...
oh haha :P
Actually, now that I look at it, I didn't ever solve my own CMC. I found a different workaround.
@DLosc reading your new explanation now and have a question, how does "Add a space character, converting the 0s to spaces and the 1s to !s." work? is that some kind of default string value for those numbers?
@att ... I definitely assumed would cycle like reshaping does, but it uses a fill value instead. That's amazing.
@thejonymyster Space is ASCII 32, so ' '+1 is ASCII 33, or '!'
ahhh ok
i forgot where ! was, and assumed it was like
49+32 = !
but then got stuck on 48+32=32 :P
but yea that makes sense, i like that behavior
18:45
@DLosc Now that I've read and actually understood att's solution to the CMC, I bet I'll be able to golf some more off my solution to the challenge.
also i just realized that isnt pip :P
Right. In Pip, " "+1 is 1.
wait why
or not js-ey
its cause " " cant be converted to a number
so its value is 0
18:47
ah
vyxal does it the other way
in js its because whitespace's value is 0 :P
the number gets converted to a string
right, thats the usual
@Seggan Pip can do that too, you just use . instead of +
i.e. ` `1+ = ` 1`
18:49
so many decisions to make in lang writing
PMC: Given a string, reverse each run of letters in the string. You may assume that all letters are lowercase. the quick brown fox! -> eht kciuq nworb xof!
Ah nice Pip
Pip, 9 bytes: R*(a^s)Js just realized this doesnt actually do quite the right thing, it reverses all runs of non-space characters
Yeah. Here's another test case: a man, a plan, a canal--panama -> a nam, a nalp, a lanac--amanap
thats upsetting :P
18:59
Pip, 13 bytes: aR(XA.+)RV_ regex for the win
slightly more clear without using the regex variable: Pip, 13 bytes: aR`[a-z]+`RV_
@DLosc what can we assume about other chars
the numbers will also be lowercase
id like you to please define "uppercase number" for me
@des54321 MCMXCVI
19:09
@Seggan Printable ASCII without A-Z, basically
the first of my 13-byters actually works case-insensitive because XA is the builtin for `[A-Za-z]`, not `[a-z]`
@Wezl'lo-ol' who can program me such a keyboard
@des54321 Good--now golf it some more. ;)
@DLosc so needy, i probably can find a way to get rid of the parentheses though ;P
Pip, 11 bytes: aRXA.+RV_ or it just works without the parens of course
@des54321 holding my breath to see if thats the shortest form or if dlosc says to golf it again
19:13
DLosc says to golf it again ^_^
damn is this golfable more? the only things i can think of to shorten it are doing the regex shorter or finding a way to use unary R instead of RV
@DLosc I remember pip having many parentheses and stuff
or was that another language?
You might be thinking of tinylisp.
Pip uses more parentheses than most golflangs, tho.
19:16
@DLosc ah right
Finding ways to remove parentheses is a big part of Pip golf.
ooh i think i see the golf
@DLosc Pip, 8 bytes: aR+XARV_
Boom. :D
this is a fun lang
19:17
oh i was trying somethign with K
You could use R instead of RV but it doesn't save any bytes: aR+XA;R_
aR KXARV_ works but is worse :P
or it seems like it does
i need to study the syntax more
@thejonymyster Yeah, true. It includes 0-length matches, which doesn't make a difference in this case.
> ¯ is Unicode 0xAF
i dont see that anywhere in the example
19:19
@thejonymyster that works, the space is necessary because it otherwise gets parsed as a(RK)(XA)(RV)_ instead
@smarnav also point reductions are generally frowned upon
@smarnav point reductions are discouraged, either its important enough to include and you should make it mandatory, or you should drop it probably, especially for a constant value and not a percent :P
can you also add more test cases and generally describe how the tape is structured?
@des54321 right i kinda just tossed it in there as a hail mary :P
the example doesnt tell me anything
19:20
ok
and the markdown at the bottom is useless
@hyper-neutrino you missed a couple ;)
lol, thanks
of course if you move two messages it usually creates more than two messages in the TNB but I appreciate the completeness
I have finalized the regex
gaze upon it in all its glory: /((w[oh][aoey][trn]?e?)|(how))(( i|')?sa?)? joe\??/gi
19:28
PMC: Flatten a ragged list of integers. [1;2;[3;[]];[[4;5]];6] -> [1;2;3;4;5;6]
(There's a built-in operator for that in the 1.1.0-alpha version on Replit, but not on ATO.)
@Seggan I forgot to remove about ¯
also, where did 'the room we don't talk about' go
@smarnav We don't talk about that
5
@DLosc Where is that? Can't find it in the docs
@DLosc 05AB1E has it too, and IIRC it's older than CJam
IIRC it dates back to a praclang
19:43
@emanresuA It's not in the docs yet either. I've been waiting to update them till the official 1.1 release, though I guess I could mark new operators with "New in 1.1" and update the docs now. Flatten is FL, BTW.
@emanresuA Ruby has ?a for a single character literal a; might that be what you're thinking of?
@DLosc especially not the incident...
Yes, but I think it's something else - I don't remember what tho
Oh, actually FL flattens once. FA is FlattenAll.
I was getting confused with HBL/Thimble, where flatten flattens all and flatten-once flattens once.
-1
A: "Hello, World!"

Iuri GuilhermePyscript, 22 bytes print("Hello, World!") Test it crafting the following HTML file, serving it and rendering with a web browser: <script defer src="https://pyscript.net/alpha/pyscript.js"></script><py-script>print("Hello, World!")</py-script>

19:49
oh wow. it was a year ago... how? I don't feel like it was a year ago...
@DLosc Is this correct?
@emanresuA Yep! You'll want to use the -p flag to see the list's structure.
That link seems to error, tho. Now it doesn't.
It was saying something about 'pip' is not defined
Yeah, I need to fix the loading icon
That's really cool that you got Pip working on DSO!
Yeah :)
It works by loading the files into emscripten's virtual filesystem, then importing pip as a module.
@DLosc Alright, improved it
o/
20:09
hm, i have a PC but im not sure if its M enough
:P
drop it and we'll give it a try
PMC: interpret Self BCT, printing the deleted characters
i find the bct's pretty easy to implement, ive done standard bct with a single regex loop :P
but then theres also a regular challenge on the site to implement a TC language, so im not sure if that makes this necessarily harder than a standard cmc
ignoring that self bct isnt proven tc
@thejonymyster I have a 16-byte Pip answer to that question
nice :D
oh wow, and its even cyclic tag as well :O
link for those curious, though i suppose it might be a spoiler
@lyxal 🥳
20:25
@thejonymyster FWIW, I'm trying Self BCT now and it's a bit trickier than Cyclic Tag.
att
att
@DLosc I really appreciate there being f⊸g instead of f⍨∘g⍨
Ooh TIL "caird" is in the wordle dictionary
12
New starting word found
@att I'm still building intuition about modifiers. How does f⍨∘g⍨ work?
att
att
oops, it should be g⍨∘f⍨, but same idea
@thejonymyster Do you have a test BCT program I can try? The one on Esolangs takes forever to run.
20:35
@RadvylfPrograms Bow down to me, you un-wordle-ables :P
att
att
x g⍨∘f⍨ y = y g⍨∘f x = y g⍨ f x = (f x) g y
Ah, that makes more sense. I was getting stuck at f⍨ because f should be monadic.
att
att
yeah, doesn't bind tighter than
I mean when you had originally written f⍨∘g⍨
att
att
20:44
ah
apl's is "beside"
so f∘g x = f g x and x f∘g y = x f g y
I just realized I probably misunderstood your confusion, oops
APL and BQN are a bit like Spanish and Portuguese: they're similar enough that you start assuming things will be the same in both, which leads to communication errors when it turns out not to be the case.
@DLosc only regular bct and it doesnt print deletions, just prints current state. js here it is separator is :
feel free to mess with the code or whatever idk ^_^
@thejonymyster Okay, sorry, miscommunication. I meant Self BCT, and I meant the Self BCT program (string of 1s and 0s) rather than an implementation.
oh lol i dont OTL i didnt think it through
isnt that pxeger's sandbox :P
Not quite. But some parts of it might be applicable, I imagine.
@att I'm working on getting to be that.
@thejonymyster I don't think it works. Looks like the program-string is never modified for some reason.
21:24
@DLosc thats the last straw im done programming forever :P
F
Fun face from my BQN code: ×○×
personally i think ⚇ is a funny face all on its own
21:59
can I have some more input on this sandbox? codegolf.meta.stackexchange.com/a/24852/104373
22:17
PMC: Collatz conjecture
Specifically, steps to get to 1
@DLosc I think it is equivalent to ×∘×
@emanresuA My current solution (posted as an answer here, don't look if you don't want spoilers) is 21 bytes.
I have 24
22:34
@emanresuA That's very similar to mine, and there's a couple easy things you can change to get to 22 bytes
I looked at yours, and I see
@thejonymyster Pip, 22 bytes: W#aa@Uv?aPBa@UvX@aOPOa (link is to a "safe" version that stops after 1000 iterations)
@DLosc YAY :D
22:51
0
A: Count /[^a-z]/ig with /[a-z]/ig

emanresu APip, 11 bytes oNaRXAxRXXo Try It Online! This was... annoying. N Count o 1s, in... R Replace... XX Any char o with 1, in... R Replace XA Letters x with the empty string a in input

omg i love it
@DLosc I can just replace the os with ns :)
Ah, good idea
I find that Pip is often pretty good at
Sing it with me:
nNa nNa nNa nNa nNa nNa nNa nNa nNa nNa nNa nNa nNa nNa nNa nNa
RXAxRXXn
23:09
Lol

« first day (4148 days earlier)      last day (991 days later) »