« first day (2552 days earlier)      last day (660 days later) » 

10:00 AM
@MartinEnder So I should just use f throughout, and not give any examples?
no, you should explain the challenge using f, and then give a concise list of examples functions
like flawr's fixed point challenge
@MartinEnder Good point. I'll restrict the input so that all intermediate values will be ℤ⁺.
@MartinEnder OK.
10:13 AM
Could someone throw an eye over this solution to this challenge for me, please? I feel I may be underthinking it!
@Shaggy The challenge link also links to your solution.
@Laikoni Oops! Challenge here: codegolf.stackexchange.com/q/55198/58974
@Shaggy How can this be run? After pressing run and clicking in the lower window to focus there is no reaction when pressing any keys.
10:29 AM
@MartinEnder @Shaggy How is this?
@Adám I think specify some other rule is quite vague (just IMO)
But the rest seems fine
@Laikoni Sorry, should have said: open your browser's console (or CodePen's).
@Mr.Xcoder The reason is that for f(x,y)=x+2y, on the diagonal a,b,c you could conceivably want a+2b+2c
I see (I just don’t know if it is exploitable, hope it’s just not prone to loopholes)
@Mr.Xcoder I.e. for a language which cannot really handle functions as first-class objects, they could take a "function" as a string where one argument is presumed on the far left and the other on the far right, then do string concatenations and evaluate.
10:34 AM
Oh I see now
@Mr.Xcoder Frankly, I'm not too concerned about loopholes any more. We've covered the most serious ones, and the worst that can happen is that a few people get some unwarranted rep.
@Mr.Xcoder Maybe I should be a bit more specific about possible formats the function could be given as?
@Adám looks good to me
I'd use instead of
@MartinEnder Like H.PWiz suggested. But I don't understand why.
because the latter is a fairly useless tag without a clear definition but the former is used for challenges that involve higher-order functions
@MartinEnder Hm, ok, but I didn't want to imply that only FP langs could participate.
10:42 AM
well, only languages with higher-order functions can participate, and those support the FP paradigm to some degree (even if they're primarily imperative)
@MartinEnder I don't see why. Pure string concatenation (plus evaluation) is enough.
I why not have both?
how would you give the function as an argument if you don't have higher-order functions?
@MartinEnder As a string.
a string containing what?
the function name?
10:43 AM
A string containing the mathematical expression?
@MartinEnder E.g. x+2*y then substitute the x and the y for the numbers, evaluate, and repeat.
but then you run into the problem from Shaggy's comment again: who defines what syntax must be supported there?
@MartinEnder I don't see the problem. Every language (which can participate) has the concept of expressions. Whatever a valid expression is (after substitution of placeholders) forms a "function".
11:04 AM
@Mr.Xcoder Purely imperative (non-FP) reference implementation:
@MartinEnder Did that ping you?
11:16 AM
A: Sandbox for Proposed Challenges

Kevin CruijssenOrient the Rubik's Cube code-golfrubiks-cubestring Introduction: I collect twisty puzzles, so I'm quite the fan of rubiks-cube-challenges (even though most are fairly difficult). So, let's try a fairly easy rubiks-cube-challenge for a change. When an NxNxN Cube gets scrambled during a WCA (Wo...

@Adám but then you leave it up to the participants to define what a placeholder is. I'm just expecting answers that'll do a plaintext substitution of x and y for the arguments, messing up exp or max in the process.
@MartinEnder How would that mess up exp or max?
well if I just replace all x with the input, exp could become e5p
or they might get inserted into strings. the point is, you can't just do string manipulation, you'd actually have to parse the entire expression, which frankly no one is gonna do, so you might as well restrict the challenge to actual function objects
@MartinEnder ah, fair enough. If I use x1 and x2 it will be fairly safe.
x1 + x2 + len("zyx123")
plus, specifying the actual placeholders in the challenge assumes that they're even valid identifiers in the chosen language
11:25 AM
@MartinEnder OK, such functions wouldn't be in the domain, as all intermediary values will be Z+.
@MartinEnder I'm not specifying the placeholder names.
they are, aren't they? that's equivalent to x1 + x2 + 6
@Adám I'd suggest you to stick with the previous (and generally agreed upon) definition of black-box functions.
@MartinEnder No, the string is an intermediary value.
if you consider intermediate values of the function implementation itself, it's no longer a blackbox
11:28 AM
@Mr.Xcoder @MartinEnder I won't write anything specifying what the functions are. I'll just give include my reference implementation.
if you don't specify what the functions are, then answers should be able to support the function f(x1, x2) = x1 + x2 + len("zyx123"), no? it's a function with the required domain and range.
Yes they should. Since it is a black-box, they should not care about what is inside.
Because they are not allowed to read the function's source anyway, but analyse its values instead. How the black-box function is implemented is the problem of the person testing it.
yeah. I think you'll do yourself a favour by keeping the challenge simple and just requiring answers to accept actual functions of two arguments.
11:34 AM
@Mr.Xcoder Then I think you've convinced me to abandon the blackbox. Similar to this.
I'd use black-box if I were you
ultimately, it's your challenge, but I think the blackbox approach is a lot cleaner than that
@Mr.Xcoder Black box would exclude languages like C, no?
@Mr.Xcoder How would you supply a function to a C function?
11:36 AM
Black-box functions can be assumed under a predefined name.
@Adám function pointers
Or that
Any idea who thenameipick is (on Reddit)? I do have some guesses, just wanted to make sure
@MartinEnder And what about Retina?
can't participate
@MartinEnder But would if string formulas was allowed, right?
11:40 AM
not really
@MartinEnder Why? It can evaluate mathematical expressions, no?
no. not without implementing each operator manually. Retina has no concept of maths.
it also has no expressions in the traditional sense, and also no variables.
@Mr.Xcoder that would be Nathan Merrill
OK, which languages will I exclude by only allowing blackbox and not string-formulas?
11:43 AM
Pretty much none
no important ones. pretty much every mainstream language has some form of higher-order function, and many esolangs do as well. of course you'll include a whole bunch of the more barebones esolangs, but I don't see that as a problem.
providing a nice challenge about higher-order functions (for those languages that do support them) is more important than allowing every language to participate
@Mr.Xcoder Heh, I didn't realise that all languages can handle functions. In old traditional APL the only way was passing a name of a function and evaluate.
@MartinEnder True. OK, but then I need to remove my reference implementation, right?
is it string based?
@MartinEnder Yup, just substitutes x1 and x2 for the new value until done.
shouldn't APL make it easy to write a reference solution as an operator? just extract the diagonal of the value argument and then fold the function argument over it?
11:47 AM
@MartinEnder Obviously, but 1) I wanted an easy-to-understand reference 2) I wanted to demonstrate a non-FP solution 3) I don't want to give away a short APL solution.
@Adám What's the meaning of blackbox vs string-formulas here? Would it be okay for a program reading the function from input and executing it? Or does it have to be a function taking a function as a parameter?
then just drop the reference solution
@MartinEnder Yeah.
@Emigna I don't know. @MartinEnder @Mr.Xcoder What is consensus on that?
The function can be given in any method you want as long as you don't use its source, but rather analyse its values.
@Mr.Xcoder [citation needed] for post.
11:50 AM
You can take it without "credit"
we generally allow STDIN as an input source, so if your language does have a string representation for function objects, you can certainly read that object from STDIN
@MartinEnder OK. Then I can also keep the ref implantation only slightly modified to take a full function representation as a string.
@MartinEnder Thanks! That explains it :)
CMC: Convert from binary to a base-10 integer, without using built-ins that do that for you. This is a CMC, so Do X without Y shouldn't be a problem :P
@totallyhuman Python 3, 39 bytes lambda x,l=[]:x and f(x//2,l+[x%2])or l (best I could do for now)
@totallyhuman Dyalog APL, 6 bytes: 2⊥⍣¯1⊢
12:05 PM
Seems good to go to me
@Adám But... IMO you should use (1<sup>5</sup>)<sup>9</sup> for clarity, although they are equivalent
@Mr.Xcoder Either order is ok. I chose an example where both orders would give the same result.
@Mr.Xcoder Also, a^b^c is a^(b^c) in regular mathematics.
I know. That's exactly why I thought you needed ()
12:10 PM
@Mr.Xcoder Heh, but 1^n is 1 ;-)
> although they are equivalent
@Mr.Xcoder or just bin :P
That's boring
@Adám I have a question: If I use Jelly, can I assume that the function is implemented in the link above (i.e prepended to the code with a separating newline or in the header?)
It's just like assuming it is called Ç
But it is position-dependednt
@Mr.Xcoder Good question. That isn't really an input method, is it?
12:14 PM
@Mr.Xcoder Why don't you just require that the function is called Ç?
… ah, because pre-population of variables is not an acceptable input method. Hm.
Because I can't just assign it. It's only called Ç if it is implement in the previous link
@Adám It is by default accepted for black-box functions.
@Mr.Xcoder Well, then require it to be named Ç. Up to the user to assure that (even if there is only one way to make it so).
Not sure.
I'll just add a note.
Or make a fancy header that makes it take input from STDIN.
Can't you just do "read input"->"eval as Jelly code"?
@Mr.Xcoder That works.
12:18 PM
@Emigna I can, but that is longer.
Much longer
Ah OK, I figured it would just be something like Ɠv
Q: Generalized matrix trace

AdámInspiration. Given (by any means): A two-argument black box function, f: ℤ+ × ℤ+ → ℤ+ (input and output are 1, 2, 3,…) A strictly positive integer matrix with at least two rows and two columns return the matrix's function trace. What is a function trace? A normal matrix trace is the sum of...

12:46 PM
@Mr.Xcoder actually no you can't "pre-populate" variables if you can otherwise input a function (which you can with Jelly's v, and I'm pretty sure it's possible, albeit too long, to make the function input a pair of values instead but call it as a dyadic function with the arguments being the elements of the pair), but you can have the function work on lists [x, y] instead of two arguments x and y if @Adám agrees, since that's not the main point of the challenge anyway
@EriktheOutgolfer I never said how it should be called. In some languages you can't have two arguments, only a single list of arguments.
(btw am I the only one who has discovered this consensus is in effect and not the one Mr. Xcoder mentions? looks like a common misconception to me, unless votes have fluctuated since then, which isn't too far in the past)
@EriktheOutgolfer Added.
actually the consensus is this, which is a bit more complicated
and, even though Jelly doesn't technically have first-class functions, I don't think you're allowed to use ç (which isn't a name, but a quick which means "the link on top of this one"), and functions must be re-usable in order to be valid...although in Jelly functions do actually have a name, and that is their line number (modular indexing), so maybe using ŀ (quick which takes an index and executed the function at that line) is allowed
IMO, using ŀ is just equivalent to using ç.
12:58 PM
the issue is when you use it on a separate line though
I have deleted the answer long ago anyway
@EriktheOutgolfer Functions need to be reusable when your submission is a function. My answer would be a reusable function, I don't quite care about how they reuse the black-box.
uh, the lines are a bit blurry here
And even using ŀ, I'd still have to assume the position of the function in the program
@EriktheOutgolfer I don't think so
well, I think assuming a specific position (e.g. line 3) is more appropriate than assuming a variable position (e.g. on top of the current line) (and I don't think the latter is valid)
@EriktheOutgolfer So ç would be more appropriate
About your claim on reusability, I don't see what you are implying.
1:02 PM
hm, maybe using ç then is valid
Because my Jelly link (which constitutes my submission), is reusable. The fact that the black-box is not properly implemented is not my problem. It's like building the following in Python (as the black box function to be called)
def black_box(k, l=[]):
 l += [k] * 2
 return l
I guess I will undelete my answer and see what happens
we should make our consensuses better, since they get deep and error-prone
I added a note and will see
1:46 PM
A: List of bounties with no deadline

Mr. Xcoder200 reputation for a Triangularity quine. I will award a bounty of 200 reputation to the first proper quine in the esolang I created, Triangularity. If you have succeeded writing such a program, please submit your answer Golf you a quine for great good! so I can award the bounty. Personally, I ...

@NewBountiesWithNoDeadlines Why don't you put links in onebox messages?
@EriktheOutgolfer ... if we can.
@NewBountiesWithNoDeadlines Can I use Python eval?
Good luck with that
@user202729 Sure you can
2:03 PM
I hate huge oneboxes.
@Mr.Xcoder Seriously?
@user202729 I was very serious, but that is not a valid quine, as it reads its own source code.
... how would you define that? It doesn't read the file.
file ≠ source code
Besides, it’s not even golfed
2:12 PM
Ignore that part...
It’s still invalid either way
That’s an option
CMC: Given n, output valid Triangularity program with n lines, with "." as the padding character and (space) as the program content. Trailing newlines allowed.
Reference implementation (Python, 72 bytes)
Py 2 equivalent (not golfed)
@user202729 jelly, 10 bytes: R⁶ẋz”.ṚŒBY
Should I post the challenge now? I think there is nothing else left to be suggested
@user202729 Canvas, 10 8 bytes
@dzaima nice dark page you got going there, I like it.
@dzaima wait is this sogl renamed?
2:33 PM
@totallyhuman that's not SOGL :p
oh NVM
I see the GitHub
I just copied 90% of the SOGLOnlines HTML and CSS :p
@Mr.Xcoder Can you add more useful error messages to Triangularity? "I smell no triangularity. YOU SHALL NOT PASS!" doesn't help debugging much...
@Mr.Xcoder Better?
(The permalink is surprisingly short... because deflate.)
Permalink is generated as base64encode(deflate(header+code+footer+input+something))
About the integer-root challenge, probably good enough.
2:44 PM
okay then
suggested tags?
@user202729 it's an esolang ಠ_ಠ
@totallyhuman Even Hexagony has debug flag. `
Q: Find Integral Roots of A Polynomial

Manish KunduChallenge The challenge is to write a program that takes the coefficients of any n-degree polynomial equation as input and returns the integral values of x for which the equation holds true. The coefficients will be provided as input in the order of decreasing or increasing power. You can assume...

@user202729 No, I won’t. It has very descriptive error messages when the source has the appropriate structure
Apparently I spent some time debugging an already-correct program because my calculation was wrong...
2:57 PM
any symbol suggestions (CP437) for set difference? someone suggested \ but I might want that for cumulative reduce
Even Mathematica doesn't have one.
@HyperNeutrino ~
(golfing language)
But that's bitwise inversion...
2:58 PM
yeah ^
Find something similar to \.
or if someone suggests a better character for cumulative reduce, that works too
@user202729 Not in CP437
2:59 PM
@HyperNeutrino if your language does type overloads, -
@Adám hm that works, thanks
@HyperNeutrino Btw, what is set difference?
@EriktheOutgolfer 1. it works like in jelly so _ 2. vectorizing, so thanks but my code structure is set up such that that doesn't work
@Mego Trash that again?
@Adám A\B = {x | x in A and x not in B}
@HyperNeutrino oh you don't have a set type
3:01 PM
@user202729 That's one option. Could also be reversed or even those elements that are in neither.
I'm going with the definition that user202729 gave for . I might add another one for elements that are in one but not both
(elements that are in neither is monadic complement and it's not implementable without a different type because you can't list everything in existence :P)
@HyperNeutrino set symmetric difference?
@HyperNeutrino I meant either (as in not in both)
3:06 PM
oh ok
synthetic division is so easy to implement :o
@HyperNeutrino Set symmetric difference: Θ
@HyperNeutrino Wait, cumulative reduces are already assigned other chars!
oh is that what cumulative map left/right meant?
also those characters conflict because string/character literals
3:11 PM
@HyperNeutrino Yeah, but I asked what those (the string and char) were.
oh. (using > and <) >hello>world< would be ['hello', 'world'] and <w would be 'w'
@HyperNeutrino "hello"world' and 'w ?
@HyperNeutrino why would you use a character dedicated to set minus for cumulative reduce
@totallyhuman Because APL does.
¯\_(ツ)_/¯ idk jelly does it too
@Adám actually yeah i'll do that
3:14 PM
the character is literally called set minus :P
@totallyhuman Actually is called set minus.
...oh i thought that was the character being used
@HyperNeutrino Because J does it, and J does it because APL does it. And APL does it because Iverson did.
hm ok
Informal APL learning session tonight at 18:30 UTC in https://chat.stackexchange.com/rooms/52405/apl. See https://chat.stackexchange.com/transcript/message/41299896 if you don't have 20 Stack Exchange rep points.
3:27 PM
I wish there were some way to find out where my questions have been linked
3:48 PM
@HeebyJeebyMan The Related/Linked sections?
i think those work both ways
I mean off site.
I guess you could try performing a google search for the url
@user202729 I updated the bounty spec to prevent your Python implementation abuses.
4:17 PM
@Mr.Xcoder Thank you!
BTW neat built-in ZQ @LuisMendo
It gets rid of quite some bytes
That's Matlab's merit :-)
Yup, but you could easily not implement it to MATL :P
I thought it would be useful so I incorporated it
Yeah turns out it is
ports to Pyth
4:22 PM
Numpy probably has something similar
BTW (hint hint) Husk will be extremely short
Isn't that usually the case? :-)
Not always.
But this part of your MATL code: |st_w&: can be done in 3 bytes in Husk :P
Heh. Symmetric range
4:24 PM
MATL has a symmetric range, but 3 gives 1 2 3 2 1, not -3 -2 -1 0 1 2 3
Now really, do you mind if I use your approach (while still giving credit, of course)?
Of course, go ahead!
Thanks :)
Heh I found a neat trick in Pyth ;-)
Np :-) No need to ask actually, that's quite common here, isn't it? Use somebody else's approach ported to some other language
I did this a couple of times, too, but I felt like I needed to request it this time, I find it clever.
But that polyval is going to hurt in Pyth
And in Husk too, now that I think about it
4:29 PM
1 hour ago, by totallyhuman
synthetic division is so easy to implement :o
@totallyhuman Excuse my lack of knowledge, but what exactly is that (simple English pls :p)?
division of polynomials?
CMC: Given two integers, a and b with a != b, return a list of numbers ranging from b to a to b. Example: a=2, b=5, output [5, 4, 3, 2, 3, 4, 5].
@AdmBorkBork Jelly, 3 bytes rŒB
4:37 PM
haskell: a#b=[b..a]++[a+1..b]
@totallyhuman Does that work if a > b?
...no, is that a requirement?
...oh i'm dumb
There's no restriction aside from a and b aren't equal
it wouldn't've worked anyways
@AdmBorkBork Neutrino, 5 bytes: ─@╓;─
bounce/mirror will be added to the planned functions
4:52 PM
@HyperNeutrino ?
pop (a[:-1])
@AdmBorkBork APL, 47 bytes {⍺<⍵:(⌽f),⍨⍺,⍨f←(⍵-⍺)↑⌽⍳⍵⋄(⌽f),⍨⍵,⍨f←(⍺-⍵)↑⌽⍳⍺}; needs a lot of golfing but I thought I'd just post it anyway
@J.Sallé Yikes!
@Adám my thoughts exactly
@AdmBorkBork Ohm, 3 bytes GRæ
4:59 PM
@AdmBorkBork NARS APL, 22 bytes: r,1↓⌽r←⎕..⎕
lol, my answer in PowerShell decided to do string concatenation rather than addition
@Adám @Dyalog this is a formal request for a .. operator.
@J.Sallé Well, a range function (e.g. ) may be nice. I'm not sure what good an operator would be. See also dfns' to.
@Adám yeah I knew of to already, no idea why I didn't use it >.> might shave a few bytes
5:08 PM
@AdmBorkBork 05AB1E, 2 bytes: Ÿû
@J.Sallé With my version of to as the primitive it would be just ⊣…⊢…⊣
:( rip bot
@Mego Why do you keep trashing them?
@Mr.Xcoder because it was posted before that?
5:18 PM
2 hours ago, by user202729
@Mego Trash that again?
I still don't get it?
whi is my message starred and not the original message... oh well starring is just like voting on main
> Welcome to PPCG, where everything is golfed and the votes don't matter.
we should start golfing chat messages so code review people can't read our messages to save time
ಠ_ಠ I have 23 22 21 bytes for the new main challenge
5:30 PM
3 messages moved to Trash
seems excessive...
@Mego Should be "looks of disapproval", not "messages".
if we got a design now, i'd lose 3 privileges D:
My REP is 11,111; legendary.
the thing is they're all pretty lame
5:34 PM
@MagicOctopusUrn must downvote upvote to change it
@MagicOctopusUrn why is your profile blurb so depression xD
;-; I'd also lose access to site analytics if we'd get a design. And a mod would also lose that privilege @-@
site analytics is really useless to me tbh
5:36 PM
@HyperNeutrino It's an inspirational quote against depression lol.
mod can't lose privilege
@MagicOctopusUrn Oh ok :p I meant mostly the first part lmao but yeah I see
@EriktheOutgolfer I know, just theoretically
Any Jelly ninjas have any tips?
protecting questions is fairly useful but not really
5:37 PM
They're both quotes from my favorite anime lol
...also code review is so ridiculously inactive, how'd they graduate before us
@totallyhuman I think I use the protection privilege mostly to unprotect questions :P
@HyperNeutrino *hello world
well yeah :p
@HyperNeutrino Community is hyperzealous about protecting stuff :P
5:40 PM
Community doesn't even represent the ideologies of the community a lot of the time :P
@Mr.Xcoder 9 bytes.
6:01 PM
@Mr.Xcoder Shut up, 8!
:o wow nice
I didn't think of using base conversion as the polynomial function so it took like 8 bytes to do that part alone :p
@HyperNeutrino Same (at first).
Except it took me 12, rather than 8 :P
lol :p
anyway gtg o/
6:08 PM
@HeebyJeebyMan Interesting approach, but the somewhat more straight forward version is shorter: 53 bytes Try it online!
@Pavel clang is a whole lot stricter too
in my experience
errors on things that gcc is fine with
bad for golf
Announcement: APL learning session in the APL chat room in 13 minutes.
Q: Tips for golfing in uBasic

Taylor ScottWhat general tips do you have for golfing in uBasic? Any ideas that can be applied to code golf problems in general that are at least somewhat specific to uBasic. Please post one tip per answer. Some helpful links uBasic Wikipedia Page Try it Online

6:51 PM
Suppose I'm using an http client. What do you folks think are the pros/cons to using the automatic content decompression?
@Poke Basically no cons. Decompression is way faster than network speeds
It would take longer to transmit uncompressed data than to compress it, transmit it, and decompress it, usually
that's what i would think
and even if you send the Accept-Encoding header
the server you're hitting doesn't have to honor it
so for example if the response the server sends back is like... 500 bytes... there's no reason to compress that
I just created an account on a website with a 15-character minimum password length.
Thought that was interesting.
@Mego now let's take it a step further. Suppose you're a reverse proxy. If you automatically decompress the response, then you still have to send it back to the client. It may make more sense to leave it compressed. That assumes the client sends an Accept-Encoding header though, I guess

« first day (2552 days earlier)      last day (660 days later) »