« first day (3922 days earlier)      last day (904 days later) » 
00:00 - 18:0018:00 - 00:00

6:00 PM
maybe split it into teams of teams
 
Making a language that has the worst from every language is way easier than the opposite.
 
perhaps :) maybe there is a lesson to this :?
 
Like: require both braces and whitespace, while line ends are significant but you still need to terminate statements… with
There's line continuation, but it requires a symbol both at the end of the previous line, and at the beginning of the next line.
Even here, you'll end up in contradictions: You can do tacit programming but you still have to mention the arguments by name‽
 
well that implies tacit programming is bad :o
am i out of touch
am i wrong, or does tacit programming already have "you can name arguments or have them be implied"?
i dunno, im wading a bit out of my depth thinking of implications and options
 
Tacit programming means you don't mention the arguments.
It is both good and bad. It can lead to really neat code and it can lead to really obscure code (or both).
 
6:08 PM
i guess i was confusing it with something else, i was under the impression that the arguments were optional to specify, rather than strictly required to be absent
 
"Explicit" (non-tacit) code is both good and bad. It can lead to really clear code and it can lead to really verbose code (or both).
 
if that makes sense, i said it weirdly
 
@thejonymyster Not just "can be absent"; it simply isn't tacit if they are present.
 
ah, i understand
ty, hm
oh, i was getting confused with defaulting arguments
like f(a=1){return a}
 
Tacit programming, also called point-free style, is a programming paradigm in which function definitions do not identify the arguments (or "points") on which they operate. Instead the definitions merely compose other functions, among which are combinators that manipulate the arguments. Tacit programming is of theoretical interest, because the strict use of composition results in programs that are well adapted for equational reasoning. It is also the natural style of certain programming languages, including APL and its derivatives, and concatenative languages such as Forth. The lack of argument...
 
6:18 PM
hm, so in the example
from functools import partial, reduce
def compose(*fns):
    return partial(reduce, lambda v, fn: fn(v), fns)

example = compose(foo, bar, baz)
this used to be a function example(x)
how would you now call this function?
 
You'd still call it like that. It is the definition that's tacit, not the usage.
 
ahhh
i now understanding the everything
ty
 
I think it is easier to understand in APL. Explicit version: F ← {2 - 1 + ⍺ × ⍵} Tacit version: F ← 2 - 1 + ×
Notice how the mention of arguments and are gone.
So × now stands for the product of the arguments, rather than simply multiplying the explicitly mentioned-by-name arguments.
Similarly F ← {G H ⍵} can be written as F ← G H
So now H stands for "H of the argument" rather than mentioning the argument by its name, .
 
that makes sense :D
would that be similar to, say, js array mapping?
 
any comments for codegolf.meta.stackexchange.com/a/23973/98590 gratefully received (I sent the wrong link earlier)
 
6:24 PM
hm, maybe not now that i think of it (in re: myself)
 
@thejonymyster Huh, I don't think so. This has nothing to do with mapping. It is juggling functions.
 
ill try to come up with a better example of what i was trying to get at in a bit
 
@Adám That sounds like the worst of both worlds
 
With various combinators, you can do awesome stuff. E.g. F ← {(F ⍺) + (F ⍵)} can be written tacitly as F ← +⍥F
 
@Adám does APL have an easy way to do this?
 
6:25 PM
@user That was the point.
@Anush Do what?
 
Ah
 
@Adám the challenge I linked about solving equations
 
APL can solve polynomials, right?
Or come close, I think
 
@user It can.
It can also easily solve linear equation systems (that's a built-in symbol: ).
 
@Adám how about over the integers?
 
6:27 PM
However, I'm not well versed in number theory and restricting things to domains, so I'm not sure how one would do it. Maybe there's an easy way. I don't know.
 
ah ok
 
Might want to ask in apl orchard
 
I would ideally like to post it tomorrow so please do let me know of anything that is unclear
 
@Adám ok i figured out what i was thinking of, and sort of why it was probably a bit off
arr = [1, 2, 3, 4];
arr = arr.map(x => x * 2);
 
See, the arrow function there is explicit, as it has to name its argument.
 
6:31 PM
right, a tacit version would be like
arr = arr.map(*2);
right?
 
Exactly.
 
:-) i understad
 
Although you might need to be explicit about the currying.
 
whats this got to do with food :P
 
Currying means binding an argument to a multi-argument function.
So in APL, +∘1 and 1∘+ are both tacit increment functions.
Decrement is -∘1 and double is either 2∘× or ×∘2
 
6:34 PM
oh, since * needs something on both sides
 
Exactly.
 
@Adám do people not like it?
 
Scala has the default variable _, so your example would be a.map(_*2)
 
@emanresuA Hm, but isn't that explicit?
@pxeger I'm sure many don't.
 
@Adám Yes, although you don't need to name the argument.
 
6:41 PM
@pxeger i dont like the idea of it, it seems scary that your code is being graded on how well you indent lol. plus maybe i have my own indenting ideas...
 
That's no different from APL's usage of as default argument name.
 
6:57 PM
how would i convert a string to a list in jelly?
i couldnt find any builtins for that
 
wdym, jelly strings are lists
 
ah, ig my testing wasnt thorough enough. ty
 
@Seggan the atom ŒṘ will convert any object into the string representation of the actual object in Python itself - the return value is a list of characters since that's how Jelly does strings, so you can print it out and see what it actually is
since jelly smash-printing and bracket omission can make it hard to tell what you're actually working with
 
o (I still haven't gotten my arms back)
 
7:17 PM
@hyper-neutrino yeah, all my char arrays were printed as strings. ty
 
7:27 PM
Ooh I changed some settings and the markov chain song thing actually makes sense in some parts
E.g. the first line is "who walks among the broken away from your skin", which sort of makes sense
The grammar, at least
 
i could hear that being in a song yea
 
7:42 PM
@AaroneousMiller I rely on that behaviour in many of my Charcoal answers
 
8:16 PM
Great to see the chatroom busy
Any way to count how many different accounts have posted to the main site today?
 
Doesn't take too long to do so by hand
 
@RedwolfPrograms I mean including questions and answers
 
There's not more than 20 or so answers in a day are there?
Seems like writing a script would be overkill
You could use the API though
 
I don't know.
On the topic of the sandbox. The problem is that no one says anything quite often.
Unlike when you post a question
 
We're working on a solution, sort of
 
8:27 PM
@RedwolfPrograms solution for what?
 
The sandbox feedback issue?
 
For the lack of comments on sandboxed questions?
Oh cool
What is your idea?
I wouldn't even mind giving bounty for useful comments
I have tried giving thanks for that doesn't seem to do it :)
 
Guild of Reviewers, which should have a bot added to it eventually that does the "any feedback on xyz" automatically
And I'll add other tools to it
It could possibly show which users have done a lot of sandbox reviewing recently, which would make it more rewarding
 
Oh so high rated people will join the guild?
 
No, that's just the name of the room :p
 
8:34 PM
Some reward is definitely needed
 
Yeah. Maybe bounties at the end of the year.
 
Why not more immediate bounties?
A year is too long
 
Well because +50 for every comment would be too much :p
 
well it doesn't have to be that much you can just accumulate it, so like if you want +10 per comment just make it so every fifth comment they immediately get a bounty
 
Yeah good point
 
8:50 PM
Can you give bounty for upvoted comments? That might make more sense
Otherwise there is a risk that idiotic comments will get a lot of bounty o
 
I think it'd need to be more human than that
 
What do you have in mind?
 
Just have voting or something, or use the more traditional system of people giving bounties to people who deserve it on their own accord
 
just use my verbal blockchain cryptocurrency
 
Ok. I still think reward for upvoted comments on the sandbox could be good
People like immediate rewards
 
8:54 PM
Seems like that'd require support from SE
Which isn't an option
 
They don’t like to help?
 
9:18 PM
they're not going to implement something to incentivize a system pretty exclusive to very few sites; especially when it comes to reputation, I see no reason for SE to implement new rewards and totally change the nature of rep itself
"they don't like to help" is a pretty big misinterpretation but getting dev support for insignificant things like this is pretty much never going to happen
 
 
1 hour later…
10:26 PM
@Anush You can write a sandbox post and then bring it to chat for more feedback
which is what all of us do regularly
 
ok here's the thing right
comments are good for leaving individual suggestions or pointing our simple issues
comments are not for extended discussion, as the prompt literally tells you if you try to use them for extended discussion, because they add a lot of clutter and are intended to be temporary (however consistent or reasonable you think that statement is)
 
And it definitely helps to avoid being closed for unexpected or nitpicky "unclear"
 
so I see literally no problem with people bringing their proposals to chat and having more in-depth discussions with reviewers in chat because it's just a much better way of discussing things
 
Like, I know a few users would cast a close vote if a challenge is written in math notation with no plain English explanation
 
11:07 PM
@RedwolfPrograms I think the $2^{n-1}$ rewards more alleles too much
 
Idk, once you get past a few the penalty is basically zero and it doesn't matter. That was my main goal with it.
 
Answers like Wheat Wizard's could just keep on adding identifiers forever because the average byte count matters very little. It might do to make the numerator bigger
Fair enough
 
@user No, at some point it's optimal. The exponentialnessness grows faster.
I think
 
@RedwolfPrograms Exactly, so you need to balance out the exponent
 
@NewPosts oh boy that's bringing back memories from doing high school biology
Even though it was only a year ago, it feels like it's been longer since then
 
11:10 PM
Biology was a fun class. There was a snake, fish and these cute little chicks
 
you're old now :p
 
@user Nah, once you're above like 10 programs, nobody cares about the extra 0.0000000001 bytes you save by adding more programs
Even if you could keep going forever and getting a more optimal score, the limit is just the average byte count.
 
Oh yeah, that's a problem with the average
Max byte count instead of average wouldn't help too much either
 
What is?
 
That at one point, adding a zillion byte program won't matter if you had a gazillion one-byte programs
*For some definition of zillion and gazillion
 
11:12 PM
I'm not sure what you mean
There's only so many short programs possible
 
but (at least theoretically) there're exponentially many short programs
 
Yeah, but say you have a 50-byte base allele. once you add multibyte identifiers to the mix, there's a ton of 50-60 byte programs you could make
 
I designed this specifically so that getting the lowest possible average byte count was the primary goal, with getting a few extra alleles being a small side goal that rewards you with a small decrease in your score.
Allele count isn't supposed to be a major part of the challenge because it's pretty trivial to increase
 
As it's defined right now, the alleles kinda make the average byte count useless
 
TBH I'm not really sure I understand what you're saying
"The alleles kinda make the average byte count useless" doesn't make any sense to me
 
11:15 PM
Meaning that I could write alleles with a 1000 byte average but if I have enough of them, I can get a score as good as anyone else's
 
No you can't
You can never get it below 1000
 
@RedwolfPrograms I mean that the average byte count becomes quickly weighed out by the denominator
@RedwolfPrograms Wait, why not?
 
Are you sure you're reading the scoring right?
 
Oh I'm such an idiot
 
You don't divide the byte count. It's a penalty on top of it.
lol
 
11:17 PM
The scoring is a little weird.
Like the penalty seems to pretty instantly become 0 as soon as you achieve a working solution.
 
I didn't see that it was the fraction plus the average bytecount
I literally thought the point of this was to make the score 0
 
I misread it that way my first time too.
 
The main point of the penalty was that I didn't want people to just make two programs and that's it. I wanted a small reward for adding an extra few programs. I didn't think about the fact that they'd all already be payload capable quines anyway, though, making that trivial.
 
I mean, these sorts of things are basically impossible to score well ahead of time, so I wouldn't blame you, but I think it could be better.
 
I'd probably just remove the penalty altogether if I redid the scoring
 
11:19 PM
should the scoring section be edited to make it clearer that it's a penalty, not the final score?
because I accidentally read it as the fraction part being the score too
 
I did edit it, I guess it needs more clarification
The final sentence/paragraph was intended to clear that up
 
Never trust people to read what you say, no matter how clear it is :P
 
@RedwolfPrograms I more meant adding the scoring formula in a $$ block
 
How would that help?
 
just to make it extra clear the fraction is being added
e.g.
(I haven't actually submitted an edit, that's just a preview)
 
11:23 PM
I have taken your advice and ignored it but ended up in about the same place :p
I didn't use the $$ though
 
lol
 
If you didn't use it, give me the money
 
I added a bold "This is a penalty, not a multiplier: your score will never be lower than your average byte count." at the end, and clarified "plus an amount determined by b2n−1 (making your total score b+b2n−1)"
 
that's much better
 
Anyone wanna do some of my calculus homework? I have like five pages of stuff on related rates and it's boring.
(Hot really :p)
Uh...*not* really
 
11:25 PM
i can tell you that d/dx x^2 is 2x
 
@RedwolfPrograms For money? Sure
Or a bounty :P
 
@RedwolfPrograms you, uh, sure that wasn't intentional. That wouldn't be the first time you've "leaked" more private stuff ;p
 
Oct 11 '20 at 2:02, by Lyxal
Ight how much monopoly dollars you want?
 
@RedwolfPrograms haha no I have my own related rates to deal with
 
@RedwolfPrograms The integral of e^(e^x) from -999999 to 123pi
No approximations, please, I like my monopoly dollars unrounded
@RedwolfPrograms Better offer: You do my calculus homework and I do yours (don't worry, there's no catch, I'm just offering to help you out)
 
11:29 PM
I know the stuff on mine it's just way too boring to do it 40 times in a row
But I gotta go to deal with the math police get dinner
 
Challenge: Determine the x to maximise the value of f(x)=ˣ√x
 
I don't know the stuff on mine, but it's very exciting. Can we please trade?
@Adám 2.718? idk
 
@user Close.
 
CMC: Determine the derivative of x^(1/x) (totally unrelated to Adám's question)
 
11:31 PM
@Adám ¯\_(ツ)_/¯ I just put it into Desmos and looked at the grey thing
 
@Adám that's just e, isn't?
 
It is.
 
Ohhhh
 
thought so
 
When I discovered that, my high school mathematics teacher gave me his TI-86 calculator with the reason that I'd make better use of it than he would.
 
11:32 PM
because the first derivative has a root at x = e, and stationary points only happen at roots of the first derivative
 
@lyxal Wait, how did you determine the first derivative?
 
it's been too long since i've done this lol; i do not remember how to do this
i want to say chain rule but idk if that'll work
 
There's an exponent rule that comes first, I think, but the chain rule is needed. Should be quite gnarly
 
iirc, it is a tricky one.
 
@Adám symbolab.com
 
11:37 PM
I think it's (1-lnx)(x^(1/x))/(x^2)?
So either x=0, which is impossible, or lnx=1, which means x=e
@lyxal Coward :P
 
I just saw a slightly harder version of this problem on a practize math gre.
 
@lyxal That's very neat.
@GrainGhost Integrate ˣ√x ?
 
y=x^(1/x)
ln y = (ln x)/x
(1/y)dy = (1/x^2 - (ln x)/x^2)dx = ((1-ln x)/x^2)dx
dy/dx = ((1-ln x)/x^2)x^(1/x)
 
No it was something about infinite sums and you ended up having to find a fixed point and you could convert it to finding the maximum of x^(1/x)
A very good problem for a lot of the test problems is to just guess the most likely constant.
It's usually pretty easy to check your answer is right.
 
@GrainGhost How many kilometres in a mile?
 
11:45 PM
@Adám Golden ratio
 
Yup ;-)
 
That said, any feedback?
 
@GrainGhost e^π-20?
 
Or maybe the avogad constant
 
avocado constant?
 
11:50 PM
 
Actually, better: ln(20+e)
 
Misspelled Avogadro because of avocad :P
@Adám Which problem are you guessing this for?
 
 
00:00 - 18:0018:00 - 00:00

« first day (3922 days earlier)      last day (904 days later) »