« first day (2606 days earlier)      last day (2243 days later) » 
00:00 - 19:0019:00 - 00:00

7:28 PM
2
A: Sandbox for Proposed Challenges

user56656Lead or Follow answer-chaining descision-problem restricted-source In this challenge you are to write a program or function, that takes a string as input and outputs one of two possible values. For an answer to be valid it must meet three additional criteria When you pass your program to its...

feedback?
I think I might post it soon.
 
@user56656 you could make the beginning read a bit more nicely if you just said "outputs one of two values of your choice. We'll call one of them "truthy" and the other "falsy"." and then "When you pass your program to itself it should output the truthy value."
the current spec seems a bit backwards
 
@user56656 sounds complex af. I like it.
 
also, what's preventing the first answerer from writing a self-identifying program and thereby killing the challenge?
 
That would be a bad move
You would guarentee that you can only score 1 which is low
 
Why? They'd get a point and no-one else could score any points
 
7:33 PM
so? no one else can score anything, so I win anyway.
ninja'd
 
read my note at the bottom
 
talking about sandboxed challenges...
 
@user56656 which note?
 
> This will probably be more fun if you try to maximize your own score rather than "win" the challenge.
 
7:35 PM
(no onebox purposeful)
I would like to eventually post them :)
 
@user56656 I'm generally wary of challenges that don't make sense if someone does try to win them.
 
I could make it so that answers must accept an infinite number of strings. But that just makes things harder to abuse.
Well it should be fine as long as you try to maximize your score. Rather than minimize other's scores.
 
@EriktheOutgolfer meh @ requiring empty grids as input. you might want to specify independence of the random choices, but otherwise it looks good to me.
@user56656 sure, as long as you do that. but if someone just wants to win the challenge (or just want to troll you) they can break the challenge at any time.
 
I mean most answer chaining challenges can be killed by someone who wants to be vindicive. I've never seen someone do that though.
 
@MartinEnder hm, the way CA boards work, that would be kind of natural, but I might add an input restriction so that x + y ≥ 1
 
7:40 PM
but most answer chaining challenges also effectively incentivise not doing so by letting the second-to-last answer win (and it's usually not as easy as here to ensure that yours is the penultimate answer)
 
(and a 1x1 board with a dead cell is the same as the empty board anyway)
 
I don't really know if that is an effective incentive. It can often be pretty easy to make a timed bomb.
 
@EriktheOutgolfer for the purpose of the infinite grid yes, but not for the purpose of I/O. and a lot of languages might have to treat 0xN and Nx0 as special cases, because those are often not easily representable.
 
I feel the more effective incentive is that people don't like jerks.
 
I think the situation here is a bit different though, because your scoring is itself an incentive to break the chain and you have to go out of your way to ask people not to try to win the challenge but instead just see how high they can make their score (ignoring other peoples' scores).
 
7:43 PM
@MartinEnder you have a point there (most likely for Nx0 boards), so I may instead phrase an assumption like "you can assume either one of these two things, but not both: 1) x > 0 2) y > 0"
 
"here's a challenge, but please don't try to win it" just screams "patching up a broken spec" to me
 
The scoring incentivizes building a chain, winning incentivizes breaking the chain.
 
don't get me wrong, I like the idea of your challenge, but the current specifics kinda break it
 
I don't know I spent the last couple weeks thinking about this issue and I don't think that it will be an issue when I release it.
 
@EriktheOutgolfer what's the benefit of requiring empty grids at all? I'm not seeing what they add to the challenge, and they might still be awkward to handle in some languages.
 
7:45 PM
And if it is I don't think it is a fixable issue so it's probably worth a shot anyway
 
also the problem with a timed bomb to reliably win a "second-to-last answer wins" challenge is that it needs some other user to post that final answer. but it will likely be clear that there's only one more valid answer possible after yours, so no one is going to post that final answer (unless you collude with someone, I suppose). having a way to win the challenge right there and then is really a bigger problem.
 
@MartinEnder edited, now x > 0 < y
 
FWIW, I don't think that second to last is much better. It is better at encouraging the chain to grow long, but it isn't really a great winning criterion
 
@DJMcMayhem maybe you can post an answer here
 
I don't have a better solution though
 
7:49 PM
@EriktheOutgolfer maybe provide the test cases as strings (probably even without quotes)? makes them more readable, and I imagine a lot of answers will be string-based anyway (and otherwise its still easy to transform them in your language's input format of choice)
 
Well I've made the last answer score -∞ instead. I don't see any harm in that, but I don't know if it really fixes anything.
 
I've thought about it, and I can't come up with any winning criterion that feels entirely satisfactory to me
 
I kind of prefer the original criteria of the most answers posted by a single user
 
0/10 — 666 is not an evil number according to the current universally accepted definition...
 
It encourages both the chain to grow and people to come back and post more answers
 
7:52 PM
0/10 666 == 0
you've got a weird thousand-separator there :P
 
@cairdcoinheringaahing I think it depends on the challenge. Some challenges have a difficulty curve in which case later answers should be weighted more heavily.
 
@cairdcoinheringaahing Much agreed. Honestly, the only problem with most answers is if you have the lead, you are incentivized to kill it right then if you can, but I don't think many users are that malicious
 
@MartinEnder ಠ_ಠ
 
@MartinEnder I did think about it, but I'll surely remove the quotes, otherwise who knows how many comments about something being unclear I'll get
 
i have the solution
 
7:53 PM
@DJMcMayhem I agree, although to prevent that, you could say that the final answerer cannot win
 
make all answer-chaining questions pop-cons
then ban them
 
@user56656 How about The n'th answer is worth n points, most points win
 
@Poke ಠ_ಠ
 
That's the one I like
Its also the one I'm currently using
 
I suppose I should actually read your sandbox post now lol
 
7:56 PM
@MartinEnder I have edited the challenge, but, eh, I think it now looks weirder than before
 
get rid of the brackets and spaces after commas as well :P
 
@wheatwiz... @user56656 I think it looks great, but I think it's missing something. Rather than discouraging writing a program that only accepts itself, I'd straight up disallow it.
Maybe something like the set of inputs that produce a truthy output should not be restricted to a finite set, but maybe that's too restrictive, I'm not sure.
 
That is the 4th rule
 
Can mods edit other users' usernames?
 
Oh, I didn't see that
@cairdcoinheringaahing Yes
@user56656 In that case, +1, I think it's an excellent challenge
 
7:59 PM
that rule doesn't really help a lot though
 
@DJMcMayhem Wait, for real? I was joking, but that changes things... :P
 
For realsies. When I first turned blue, I remember going to Mego's page, realizing I could theoretically edit his name if I wanted to, and being shocked.
xP
@MartinEnder Not breaking the chain does though
 
well I guess it ensures that you can't break the chain, but you can make it so that the only language that can be used from then on is Lenguage.
 
@DJMcMayhem I don't think Mego will appreciate that... :P
 
@DJMcMayhem I kind of want you to change mine, just to prove it, but I'm not sure if the 30 day rule would still apply and I'd be stuck with your choice for a month :D
 
8:01 PM
@MartinEnder Your can also prevent lenguage by testing that it's lenguage decoding starts with ].
 
oh yeah
 
@cairdcoinheringaahing Or you could pick what I change it to
 
I don't know. I think I'll give it a whirl and see what happens.
 
@DJMcMayhem Actually, I have a chatbot. Could you change it to "Feed Me Jelly!"?
(I forgot the login details for it)
 
@cairdcoinheringaahing Can't contain '!', but other than that
 
8:04 PM
bows down in awe of the mods
 
That was fast
 
@Mr.Xcoder is that really surprising? it's probably just a form submit
 
Out of curiosity, what does the jelly code in the avatar output? Caird coingasdfadsjfhalds?
3
@Mr.Xcoder I'm sitting at my laptop and bored
 
Hello, World!
 
It outputs Hello, World!
 
8:05 PM
Ah, cool
Where does the punctuation come from?
 
:O Another SO mod election?
 
I also have a bot if you can change its name too :P
@DJMcMayhem Jelly compressed string literals
@cairdcoinheringaahing Is that surprising?
 
@Mr.Xcoder Impressive that you got a bot to win an election! :P
 
God I hate the title character requirement
3
 
@DJMcMayhem Certain characters in certain positions insert printable ASCII rather than look up words in the dictionary
@Mr.Xcoder IIRC the last one was only 3 months ago or so
 
8:07 PM
@user56656 why did you edit the post to just a comment?
 
SO's very hard to moderate...
 
@NieDzejkob I'm moving it to main.
 
@cairdcoinheringaahing Which ones? How?
 
@user56656 Add zero-width spaces
 
Last time I checked it doesn't count those as characters
 
8:11 PM
@DJMcMayhem Here's the decompressor. It takes the Jelly byte values of each character, then converts that from base 250. If the current total is divisible by 3, then mod it by 96 and take that ASCII character. Otherwise, it indexes into the dictionary
 
What challenge were WW and ME talking about earlier?
Oh this one, nvm
 
@user56656 Are you going to start the chain? Or can I?
 
@DJMcMayhem Anyone can
 
@DJMcMayhem Huh, odd. It's not included here AFAICT
@user56656 Can it just output 1?
 
8:14 PM
It looks like they don't list all privileges because some of them relate to PII
 
The first answer can, see the example.
 
three additional criteria... Huh, I count 4
 
oops
 
0
Q: Lead and Follow

user56656In this challenge you are to write a program or function, that takes a string as input and outputs one of two possible values. We will call one of these values truthy and one falsy. They do not need to actually be truthy or falsy. For an answer to be valid it must meet three additional criteria...

 
@user56656 Yeah, I saw that, but it seemed "too easy" an answer to post, so I wanted to double check
 
8:17 PM
Can you actually modify the tio link such that we can see the output when you click the run button? (Add++)
 
Done (realised I should just before you asked :P)
 
Hopefully the restrictions start out easy enough that I have time to post a brain-flak answer
 
@cairdcoinheringaahing would you mind explaining the answer so that not everyone who ever answers this challenge has to learn a bit of Add++ first?
 
@cairdcoinheringaahing Those also don't include chat super powers
 
@MartinEnder Yeah, sure thing. Just give me second Done
 
8:21 PM
Have I been too meanie (making the first char always a dot)?
 
I wouldn't say that is too mean
 
BrainHack can do it :)
 
At least it's a dot, that's valid syntax in many languages
 
I think Haskell is dead though :(
 
@user56656 Does it have to be only two distinct outputs?
 
8:24 PM
@Mr.Xcoder technically you currently have negative infinite points.
@DJMcMayhem What do you mean?
 
Ah, yeah.
 
Although you will likely soon have 2 points.
 
Perhaps a snippet would be useful...
 
Ugh, for some reason, WW's challenge had this in the Related tab ಠ_ಠ flashbacks to worse times
 
Great challenge, btw!
 
8:25 PM
I don't write Javascript.
 
@user56656 What if my output for falsy is 0 and any positive integer for truthy?
 
Yeah, I know.
 
Oh no, that doesn't match the specs. Should I be clearer?
 
@user56656 I know that doesn't match the specs. I'm just wondering if it's allowed
 
@Mr.Xcoder Thanks
@DJMcMayhem No it's not.
 
8:26 PM
Dang
Ok
I guess I can do a negate in V with ø0
 
I wonder if a language with only sets. (No numbers, just sets of sets)
can be turing
 
I spent a while on that problem earlier. It gets a little confusing.
 
@cairdcoinheringaahing please, if you're going to answer an answer-chaining problem, make sure your answer is complete, final, and well-explained.
 
i strongly suspect it can
 
It starts to become a game of what does it mean for a language to only support sets.
 
8:30 PM
@ConorO'Brien Ok, sure thing. It's final now
 
I feel bad for ruling out Haskell that early
 
@cairdcoinheringaahing he says, forgetting the answer number ಠ_ಠ
 
don't worry I just broke my own rule
 
Why'd you delete it?
 
because it didn't have an e
heck I'm golfing it because I can
@user56656 What happens if I was to make a condition which is a subset of a previous condition? would that be ok? e.g. "first character is even" would always be satisfied since the first character has to be .
 
8:38 PM
\o/ Triangularity has been eliminated too
@ConorO'Brien Wouldn't that break If you pass any older answer to your answer as input it should output the falsy output (of your program)?
 
oh ye
nvm
I did a dumb
 
Uh, why the three random single stars?
 
I eliminated a heck lot of languages with Triangularity, now all Haskellers out there got their revenge :P
 
I wouldn't be surprised if someone manages to do it in Haskell, just to prove you wrong :P
 
impossible
i mean, numbers can't even be denoted without the leading zero
let alone have a lone number at the start
 
8:43 PM
I don't think it's possible not to yield a syntax error
 
Well you just have to use some extension. Like the thing where all lines that don't start with > are a comment
 
literate haskell...
 
That'll be Whispers
 
good idea
hmm
 
Btw has Whispers been eliminated too by the . restriction?
 
8:44 PM
That is what the polyglot has
 
Ooh, can I get Whispers into the chain before it's too late?
 
And things already got messy o_O
 
@Mr.Xcoder No, it'd just ignore it
 
happy moment: VSL classes not support initializers:
class A {
    let foo: String

    init(foo: String) {
        self.foo = foo
    }
}

func main() {
    let x = A(foo: "goat")
    let y = A(foo: "boat")
    x.foo = y.foo
    print(x)
}
 
*now?
 
8:52 PM
@Downgoat this is not happy thing
 
Huh, first time I've ever used in an answer of PPCG before
 
@ASCII-only ...unless it's *now
 
@Mr.Xcoder apologies. Deleted... I misread the challenge text.
 
@ASCII-only crap meant 'now' lol
 
this challenge isn't going to last long
 
8:56 PM
You don’t have to apologize lol
^^
 
@Downgoat this is now happy thing
 
It’s extremely hard to keep up with the new answers
 
it's not that really, it's just a lot of source restriction
 
Exactly why I drop out of competing in answer chainings after a while
 
@cairdcoinheringaahing but most don't have insane restrictions?
 
9:01 PM
Currently caird and I took the lead at 8 points (well for now caird has -infty) but I think that will dramatically change while I sleep :P)
 
@ASCII-only Yeah, I was replying to Xcoder, but totallyhuman got in the way :(
 
@Mr.Xcoder Uh, I have 11 points (when someone else posts), and you have 8
Although, I only have 4 at the moment :(
 
Oh yeah you have Jelly :|
 
@ConorO'Brien you copied one line too many from my answer :P
ah okay, fixed :)
 
yes I just realized XD
 
maybe call it "the second character's code point, mod 5"
 
I almost did but that would allow the first answer
 
I do like that version for the requirement without redundancies
huh, why is that?
 
9:33 PM
since the first answer starts with a D instead of a .
 
oh
it does apply to future answers though so maybe just change the header to "Requirements for future answers" or something
"Unicode code point"
UTF8 is just a specific encoding for Unicode and doesn't define the code points (just the bytes representing them)
sorry for the nitpicking :P
 
no please pick those nits, accuracy is good
 
CMC idea: write a function or program that checks if current answer is valid
:P
 
@totallyhuman done
 
9:38 PM
mine's more extensible and user-friendly :P
 
alright i'll write the "which condition did i miss" part :P
 
?
oh
still I think more people would be familiar with ruby than haskell
since ruby is pretty intuitive
 
fair to a certain degree
ruby could be a lot more intuitive :P
 
it could also be a lot worse
 
like haskell :
 
9:43 PM
guys
I golfed a short exit function for C
e(){e();}
:D
or for Python: def e():e()
 
that's pretty neat
 
@orlp what's wrong with e(){1/0;}?
or is that not allowed in C?
it would probably in work in Python though
 
@MartinEnder it's less hipster
 
that's fair
yours only works in interpreters/compilers without TCO though ;)
 
@MartinEnder Python doesn't have TCO
like by language standard
 
9:50 PM
does the spec forbid it?
 
yes
 
that's kinda crazy
 
it's for sane stacktraces
and by forbidding it it prevents people or interpreters from relying on it
 
hm, that makes sense, I suppose
 
TCO is critical in functional languages
but Python really doesn't need it
you can always just wrap your function in a while loop and reassign your function arguments if you insist
I think you can even implement it yourself with decorators
 
9:53 PM
Speaking of TCO @ASCII-only we already generate stack allocations pretty liberally so do we want to set cutoffs in regards to inlining them?
 
@Downgoat yes
 
for example this is the IR we generate for the above program: gist.github.com/vihanb/335ae537767d99915d6c7124c5e40bd2
it obviously optimizes quite a bit
but in terms of un-optimized
 
@orlp I'm currently implementing a functional esolang in Ruby, so I might have to do some of that manual TCO if I want the interpreter to be neat.
 
10:07 PM
If you pick a value from a list that is closest to the average would that always be the median?
 
@Dennis that's impressively short
 
:)
 
O_o it works
 
@ASCII-only dotnet.exe
 
Ugh, I want to contribute to the answer chaining, but testing my answer takes ages, And by then there's a new answer :(
 
10:14 PM
I don't know what black magic I managed to pull off, but somehow it's not completely broken
@Adám yeah, .NET core
don't ask me why
 
if there are more "nth character is x"s, the whole program's gonna be constructed
 
I wish somebody posted a cool fastest code or code challenge that doesn't involve gimmicky source constraints but an actual difficult and interesting problem
been learning rust recently and it's not exactly nice for golfing
 
@DJMcMayhem you can drop the "doesn't contain Hi Retina" part from the requirement, because that contains two i itself.
 
I need an exclamation mark...
 
@orlp would love to see Rust in a fastest code
 
10:21 PM
by the way guys do you like my new keyboard?
Leopold FC750R PD ^^
with cherry mx browns
 
@MartinEnder Fixed
This challenge is a great idea, but a PITA to test
 
@orlp Looks like a bug-standard IBM style keyboard in a very compact enclosure. CapsLock indicator?
 
@MartinEnder I need to head out now. If it turns out my answer was actually invalid (which I feel like is really likely) feel free to just outright delete it since I won't be able to fix it from my phone
 
10:36 PM
@DJMcMayhem seems to be correct
 
@Dennis what does the function 2 do here?
 
Map (n) to (n, n).
A line that consists only of whitespace is basically the identity function.
 
ooooh cool
so, to elaborate on my brainflak + functions. I wasn't thinking of something like lambda calculus where functions are types (but that could be pretty cool tbh), but it would look sort of lisp-like
it'd be like, brain-flak but it's a mathematical notation. (...) would become (push <argument>). and it would allow you to define functions. also {...} would be replaced with recursion probably
maybe even remove the stack or something
wait, what is that f(lambda)ak thing about
so someone had a similar idea...
 
10:52 PM
@Adám caps and scroll lock indicators are leds underneath their respective key
 
@orlp Cool.
 
@Adám what does bug-standard mean?
 
@orlp Typo of bog-standard.
 
11:04 PM
big-standard typo
 
00:00 - 19:0019:00 - 00:00

« first day (2606 days earlier)      last day (2243 days later) »