« first day (3695 days earlier)      last day (1141 days later) » 
01:00 - 20:0020:00 - 00:00

1:43 AM
0
A: Sandbox for Proposed Challenges

user197974Find the Best Set of Adapters I'm trying to plug this really old phone into my computer but the phone seems to use a very obscure plug. Luckily I have some adapters. Unfortunately, none of them can go straight from my phone to my computer. Can you find the smallest number of adapters that can lin...

 
 
2 hours later…
3:21 AM
@user probably every answer :-(
 
3:49 AM
@Wasif Why do you say that?
 
@user probably one of my first ones
 
4:41 AM
Not very many people in TNB right now
Can anyone here who's not currently in TNB explain why they aren't?
 
> anyone here who's not currently in TNB
is obviously an empty set
 
 
1 hour later…
6:03 AM
@user because I didn't put a lot of effort, though some answers are good
 
6:23 AM
@RedwolfPrograms I just am not here
 
0
A: Sandbox for Proposed Challenges

tshZeroes at end of \$n!\$ in base \$m\$ Related: Zeroes at the end of a factorial Input two integers \$n\$, \$m\$. Output how many zeroes at the end of \$n!\$ in base \$m\$. In this question, your program is required to support \$0\le n\le 1,000,000\$; \$2\le n\le 1,000\$. The program should be abl...

 
6:50 AM
Announcement: Due to the lack of interest in LotM (Factor), I decided to upgrade the LotM bounty.
> I (Bubbler) will award 50 × n rep for any user's n-th Factor answer posted this month, up to n = 10, maximum 2750 rep in total per user.
Anyone can participate, even the ones who have posted Factor answers before!
 
7:01 AM
@RedwolfPrograms I tend to sleep between 4 am and 5 am.
 
7:26 AM
@Bubbler bruhhhh
 
 
1 hour later…
8:55 AM
can any Haskell users help me golf \x-> \y->xmody<1 (check if y is a factor of x)
 
@pxeger ((<1).).mod, maybe?
 
awesome, thanks!
 
(also \x-> \y-> itself can be shortened to \x y->)
Obligatory mention: pointfree.io
 
I knew there was something like that. I was trying to use commas
 
 
1 hour later…
10:02 AM
 
10:43 AM
no xkcd mean question yet?
 
Think I saw it in the Sandbox
 
@Neil yep, one in the sandbox
 
ah, fair enough
 
11:01 AM
Ah, I was also thinking of that. Won't do it then.
 
11:27 AM
@Bubbler WHOA
I was looking for more challenges to do in factor anyway because it's really fun
 
11:51 AM
@Adám Done
 
@JoKing Yes, thanks.
 
12:36 PM
-2
Q: Number of pointers in an n-node complete binary tree

rrcGiven a positive integer (i.e. \$n>0\$), output how many "pointers" (which basically means the things that connect individual nodes) there are in a complete binary tree of n nodes. Test cases 1 -> 0 7 -> 6 10 -> 9 25 -> 23 Example Suppose n = 10. We can construct a complete binary tree wit...

 
12:47 PM
lol, that guy wrote an 'increment a number' challenge and now has written a 'decrement a number' one
 
genius
 
 
1 hour later…
2:00 PM
@Bubbler You're going to be setting a lot of bounties :P
 
2:49 PM
CMQ: what is your highest average points per tag, for the tags on your profile page?
 
@rak1507 Is there a quick way to calculate that?
 
@rak1507 What does highest average points mean? The average score for answers or something?
 
score / points for each tag
 
@rak1507 2.5 if I'm understanding the question correctly
 
@rak1507 For , 2.333
 
2:53 PM
what I'm basically trying to ask is what people tend to do well at ('well' quantified by upvotes, which obviously doesn't properly reflect it but whatever)
 
@rak1507 so you'd have 4.6 for ?
 
Wait actually, for , I have 9
 
@Wezl yes
@user I'm only counting the ones on the front page to prevent a one off high scoring answer in a niche category
 
@rak1507 Array manipulation it is, then :P
 
that hexagonal grid answer is very cool though I will give you that
 
2:56 PM
Thanks
 
if I was less lazy I'd take each tag and each language and calculate what languages tend to do well at what tag
I think that would be interesting
 
Hmm, it looks like I do better at string challenges than code golf. That's probably more because my code golf answers are trivial than because I'm good with strings
@rak1507 I hear Redwolf Programs is going to download SEDE data every week to query without SQL, so it may be easier for you then.
 
interestingly my overall code golf seems to be higher than other categories, apart from string which is mostly a fluke because my first ever answer was a string one
 
I have approximately 1.500013 non-trivial answers
 
That's an oddly specific number for an "approximate" figure.
 
3:00 PM
@user I'm counting my trivial answers as a small fraction because at least I explain most of them
 
Ah, ok
 
@Wezl How do you define "non-trivial"?
 
@ChartZBelatedly that do something other than exactly what the question says
 
to me non trivial is something where the method isn't obvious
 
1
Q: Self-Replicating Numbers

Zaelin GoodmanBackground For the purpose of this challenge, all numbers and their string representations are assumed to be in decimal (base 10). I tried to find proper terminology for this challenge, but I do not think there is any, so I made it up. A self-replicating number is a number that appears as a subst...

 
3:35 PM
codegolf.stackexchange.com/users/76359/ais523 why does this person make all of their answers 'community wiki'
 
@rak1507 ais likes code golf, but dislikes reputation and Stack Exchange
 
I think they used to be pretty active here, they made quite a few popular esolangs
 
@ChartZBelatedly dislikes stack exchange I can understand, but dislikes reputation?!
 
@rak1507 yeah. something about it gamifying golfing, don't recall precisely
 
as opposed to the highly serious act that it is...?
 
3:37 PM
Jun 29 '18 at 3:12, by ais523
I pointed out to Stack Exchange back when I deleted my PPCG account that I'd demonstrated that the reputation system was completely broken via intentionally repcapping every day for a week
 
Reputation honestly isn't very useful here
For Q&A I like the system, but for CGCC it's not great other than preventing spam
 
Aside from privileges, which IMO is the best way I've seen a site deal with moderation, I agree
 
how do you manage to find all these saved messages from 2 years ago?
 
@pxeger I'm good at searching :P
 
so 'you can get reputation easily therefore I'm not going to allow myself to get any reputation ever'?
 
@rak1507 Probably more like "reputation isn't a good measure of a golfer's skill or the time they put in"
 
which I agree with
 
@rak1507 IIRC ais believes that reputation is so far detached from good quality golfing that he's perfectly fine not having any, and thinks that if he does get some, it'll lead to him wanting more, thus not incentivising him to golf well
 
case in point [redacted] having more rep than me :(
 
Oct 6 '18 at 19:38, by ais523
That's a big problem with the incentives on PPCG; if you submit an answer to an old question few people see it, so regardless of what your motivation is (fame, reputation, appreciation from others, etc.) it's fairly unsatisfying to see the answer ignored
 
3:41 PM
@ChartZBelatedly fair enough
 
And they make some very good points about the problem with rep
 
I can relate to potentially dropping standards for rep...
 
@rak1507 ais actually deleted their account a couple of years ago (30k+ rep) but came back because they couldn't find a better place to golf
 
when I first joined the site, I couldn't comment, so I had to do golfs of other people's code as suggested edits
 
@ChartZBelatedly yea I saw that
idk, to me if rep isn't important, just don't look at it, no reason to go out of your way to avoid it
 
3:43 PM
@pxeger Which is why whenever I see those kind of suggested edits, I reject them and leave a comment going "-X bytes, suggested by [user]" :)
 
I'm just pointing out that commenting shouldn't require 50 rep.
3
 
Or maybe there should be a way for them to be approved by higher rep users
 
Given how easily VLQ comments can be cleaned up, I agree
Spam comments are rare, and get deleted very quickly compared to spam posts
 
I guess the only concern would be that comments don't bump the post, so a spam comment on an old question or answer could go undetected for a while
Maybe a "comments on late posts" queue or something would be a good addition, reviewing those wouldn't take long at all
 
Mar 18 '18 at 20:21, by ais523
@totallyhuman it was suggested a while back that answering everything as CW would have two major benefits: a) it'd help avoid the rep grind which is the reason I left in the first place, b) it'd help convey the message that I'm happy for people to edit my posts (I think people should edit each others' posts more on PPCG)
 
3:47 PM
Commens are insignificant, ephemeral things anyway
Why not allow low rep users to use them? It just leads to answers that should be comments and that kind of stuff
 
@user The fact that mods can delete comments with little to no oversight is pretty indicative of that
 
I suppose the argument is that it allowes comments that should be answers
 
Or someone could just go to hundreds of old posts and add spam comments, it could take a while for someone to notice a pattern with them since they'd probably only be noticed every few days
 
326
Q: Why do I need 50 reputation to comment? What can I do instead?

PekkaUsers with less than 50 reputation points cannot write comments on questions and answers that they don't own. Why does this limit exist? But I want to contribute now. What should I do instead? But I can't write a good answer without more information! Shouldn't I be allowed to post comments if I ...

 
@pxeger Comments that should be answers are not as big an issue as answers that should be comments (at least on SO)
@RedwolfPrograms Oh right, posts don't get bumped by comments, right?
Maybe there should be a review queue for comments by new users/comments to old questions
 
3:50 PM
And making them get bumped by comments would probably be a bad idea too
4 mins ago, by Redwolf Programs
Maybe a "comments on late posts" queue or something would be a good addition, reviewing those wouldn't take long at all
 
:)
 
or just "if this user has made more than 100 comments in the last 2 days"?
 
TBH we use comments for a more important reason than most SE sites
 
@pxeger Subtle spam is still spam
 
If someone spams in the woods and no one's around to hear it, does it make a difference? :P
 
3:52 PM
true
 
But someone does hear it - comments notify the OP
 
Unless the OP is the spammer.
 
@RedwolfPrograms Flagged as spam :P
 
3:55 PM
You misspelled "isn't" :P Other than that, it looks good to me
 
I don't know how Lyxal draws funny diagrams so quickly
 
They probably have a stash of them ready to post somewhere
 
@user It's a reference to one of those songs that "patriotic" Americans play without actually listening to :P
 
Look at this cool graph...I forgot what it is, but it has something to do with math
 
@ChartZBelatedly Ah, I see
 
3:58 PM
If you disable 5 and enable 1, 2, and 3, you can mess with n and something interesting happens
 
@RedwolfPrograms Normal and tangent to a curve
Using f(x) = sin x is a fun one :P
 
I think #5 has something to do with making a graph where y is sort of from the perspective of the normal if that makes sense which it doesn't
 
4:19 PM
We have a number of posts tagged , and a lot of posts that really should be in the but aren't (example). Is it worth opening a meta discussion asking if we should "update" the FAQ and, if so, with which questions?
 
4:33 PM
@ChartZBelatedly For that quesiton and others like it, this comment raises a good point.
 
@ChartZBelatedly Right, but you can't expect people to install Greasemonkey/Tampermonkey and a userscript just to be able to figure out basic rules.
 
We need some way of saying "A format/term/method/loophole is ok", and voting is the best way to do that. As SE won't remove the rep requirement, I don't see any way around it
 
5:15 PM
@rak1507 it's hard to appreciate how much I dislike Stack Exchange (in the sense of the software running it and the intended guidelines for using it, as opposed to the community who I'm fine with)
the only way any of the site features end up being remotely useful is when they're being used for a purpose other than the one for which they were designed
the site really tries to push people into using it in a shallower way; in particularly, fast answers to new questions are rewarded disproportionately to anything else
 
It's hard to reward new answers to old questions, though.
 
yes
 
It would be awesome if it could be done, but I don't see an easy solution.
 
it gets frustrating when you spend years trying to work out how to answer a question, make a breakthrough that near-optimally solves an entire genre of problems, then get only 1 upvote when you finally post the answer
because the answers that take years are so much less visible than the answers that take minutes
fwiw, I do find FGITW Jelly/Brachylog solutions interesting in another respect; although they don't always necessarily reflect on the skill of the posters, they do reflect on the skill of the language designers
3
 
And just showing them in the active questions list doesn't help too much
 
5:21 PM
if you can write a language which can unambiguously express difficult problems in in a few minutes, that's a big accomplishment in its own right
 
@ais523 Your recent Jelly post on the HTTP question, and the earlier one when you first demonstrated the technique are brilliant, just wanted to say :P
Given how common "Map this set of inputs to this set of outputs" questions are, finding a general, close-to-optimal algorithm for them is amazing
 
@ChartZBelatedly I knew there had to be some solution that didn't involve struggling with complicated encodings of perfect hashing and modulus chains to try to improve collisions
next step is to implement it as a Jelly builtin, I guess
 
yeah, as soon as I saw that I thought it was pretty incredible and wondered who this mysterious amazing golfer I'd never seen before was
 
the main problem being that it takes three inputs (the big integer, the domain of the output, and the input you're decoding to the output)
@rak1507 I used to be a 20k user
but really, the lower-voted answers are better than the higher-voted ones
I started in Perl and Prolog, and moved onto Jelly and Brachylog
 
yeah, I'm pretty new so I've only seen the 'famous' people from browsing through the rep lbs and stuff
 
5:26 PM
@ais523 Well, I've got a Jelly fork with some of newer builtins, but I don't think I could add that, I just barely understand how it works :P
 
@ais523 100% agree with you there
I've complained about it before so to not sound like a broken record I won't repeat myself but I definitely think people choose to upvote the least deserving things
 
@user That's why I really like the Best Ofs, it's probably our best way to reward posts that actually deserve rewarding
 
the reason I like golfing languages is not necessarily that they're short, but because they're good at expressing things
e.g. Perl doesn't have a "transpose matrix" builtin, which makes many problems much more tedious to express than they would be otherwise
 
@ais523 expressing the users desire to get rep :P
 
voting on CGCC is often mystifying
 
5:29 PM
agreed
 
in particular, golfing language answers tend to get upvoted regardless of whether they're good or not
 
definitely
 
@rak1507 90% of my answers on the site are with Jelly, and I think I've hit +10 twice with it, and one of those was because of Best Of
 
I imagine most people can't read the answers to figure out how impressive they are, but in such a case, you'd hope that they'd unconditionally not upvoting rather than unconditionally upvoting
 
Golfing language != upvotes, and I've found that JS and Python answers get more upvotes lately
 
5:29 PM
@ChartZBelatedly obviously not every golf lang answer gets upvoted to the moon but on average golf langs get more upvotes
 
my Prolog answers tended to get a lot of upvotes despite rarely winning
(normally when they win, it's because nobody else can figure out how to solve the problem at all)
 
that's probably because the JS and python golfers are arnauld and xnor, and the jelly golfers are people who know how to ctrl f
 
yes :(
 
@rak1507 I can't find the query rn, but recently, that's not the case
 
@rak1507 Using a golfing language is not just "ctrl f", except for trivial challenges.
 
5:30 PM
ok, how about this, a mediocre golf lang answer that takes no skill gets more upvotes than a mediocre python answer that takes less skill
 
@rak1507 Hey, I don't need ctrl-f, I scroll through docs pages by hand :P
 
@RedwolfPrograms yes, and for trivial challenges, they get a lot of upvotes
rather than a potentially non trivial answer in another language
 
I know enough Jelly that I can often find the right part of the page without searching nowadays
or just have the builtin memorized (although often I have to look up argument order, or sometimes dotness/case)
 
@ChartZBelatedly the top python one there is not mediocre, it was the first to use the bitwise trick, so it deserves the upvotes for finding it
 
5:32 PM
It's not a clever bitwise trick. If you know anything about bitwise stuff (which I don't), it can't be that non-obvious
 
@ChartZBelatedly the funny thing is, there is actually a Jelly builtin that solves that question, but it returns the exponent rather than the power of 2 itself
so it's shorter to not use it
also I have that specific bitwise trick memorized
it's a builtin in a lot of practical languages but (x+1)&x is often shorter to write
 
@ais523 Yeah, my original answer was ọ2 2* :/
 
@ChartZBelatedly yes, it's not that clever, but it was the first to use it, when there were already a lot of answers, so I'd say it was clever enough that people went 'oh that's smart'
 
why does dingledooper's answer there have so many upvotes? it's a pretty well-known method to solve this exact problem
 
I've been considering a Jelly alternative with the same builtins but different syntax and chaining rules
 
5:34 PM
I can't wait until I finish my golfing lang, currently all I know how to golf in is JS and there's way too much competition there
 
seeing that space between the 2s is so saddening :-(
 
@RedwolfPrograms learn zsh! I need more competition!
 
@pxeger probs because it was the first to use that method when previous answers used worse ones
 
@ais523 Yep, and all the chaining tricks just come out as the same length or shorter :(
 
the trick is to remove digit concatenation, and add a single-byte way to say "take the character code of the next byte as a number"
 
Oh does Jelly have multiple digit number literals?
 
sort-of like , but for one byte rather than two
@RedwolfPrograms yes, and even worse, it's often the shortest way to write the number
in fact, even three-digit numbers are shortest to write as three decimal digits, with the exception of 256, and if you do weird things with I/O, 100
 
Huh, seems like those would be important enough to at least have two byte constants
 
05AB1E's z and Z integer compression is something Jelly sorely misses
 
I can't remember which bytes are spare, but this is something that definitely deserves one, I think
 
5:37 PM
I guess that might give Ash a bit of an edge in some challenges if I ever finish it
 
idk why someone who made a golfing language wouldn't add every single byte/digraph/trigraph combo or even further
 
Future expansion
 
why not have a 5 byte combo for doing something completely ridiculous that's useful for one particular problem
 
you need to leave some unused to give flexibility when you realised you missed a builtin
 
Since mid-2017, Javascript and Jelly answers have consistently scored about the same, with Javascript scoring higher more often
 
5:38 PM
@ais523 can always reshuffle and make different versions, not that that would work with TIO
 
although it's easier nowadays because you can scan the existing golfing languages' builtin lists for builtins you missed
right, Brachylog had one big bulitin reshuffle in its history
 
@rak1507 At least with Jelly, Dennis doesn't want to break backwards-compatibility
 
I still write "Brachylog (v2)" on my Brachylog answers because of that
 
lol, of all the languages to require backwards compat...
 
IIRC tho, before his hiatus, he was working on jli (Jelly vs)
 
5:39 PM
Brachylog v1 still exists on TIO, although I haven't been using it recently
 
if I ever make a golfing language I'll make my own website for it and have version select so I can frequently hone it to be as golfy as possible, imagine how much rep I'll get then!
 
fwiw, if I created a Jelly rewrite, I would base it on Sage rather than on Python so that it could automatically handle things like rationals and finite fields (it doesn't matter if they take a few bytes to create)
 
@ChartZBelatedly Mid 2018 for Jelly and Python. Since Fall 2020, JS and Python consistently score higher than Jelly tho
@ais523 Like M?
 
@ais523 sage + jelly sounds like the ultimate maths golf
 
@ChartZBelatedly yes
 
5:40 PM
If M kept up with Jelly, it'd be amazing
 
And I picked the worst possible language to write a golfing language in
 
yep, it'd set a new record for the smallest TC language interpreter
 
I think the last commit was 2016/2017
 
right now, the record is 4 bytes
but one of them could be removed if M had dot product
 
@ais523 How?
 
5:41 PM
6
A: Turing-Complete Language Interpreter

ais523M → Tip, 4 bytes Ṅ×ịß Try it online! The TIO link adds a footer to call the function with the example Tip program shown on the Esolang page (M's "automatic wrapper" to call functions as though they were programs can't handle rational or fixed-point numbers, or at least I haven't figured out h...

(see the comment)
actually, it's kind-of amazing that that program is four bytes long and one of them is fixing a parser ambiguity
and yet it's Turing-complete
 
Man, the desire to shuffle the dyads around to see if you can get rid of is strong, but I know that you've already tried
 
dyadic links are weird
 
TBH there are so many different ways they could work, and the current rules work pretty well most of the time
 
I like the monadic link rules, but not the dyadic link rules
 
5:45 PM
@ais523 How would you change them?
 
off the top of my head, chain starts with left argument, then follow the monadic link rules except that every time you implicitly take an argument, take the right argument
you would probably want an additional quick to take the left argument instead (but this would replace { and } so you're still saving a byte overall)
 
Doesn't ` already indicate taking the left argument?
 
it's reusing the same argument
 
so in a monadic chain in Jelly, you basically have two important numbers at each stage in the chain: the argument, and the current result
 
as opposed to the left argument to the whole link
 
5:47 PM
` gives the current result as an argument to the dyad
whereas here, you'd want a way to give the left argument as an argument to the dyad
does that, I guess
 
@UnrelatedString Oh right, so further into the link where ` has different behaviour
 
so maybe you wouldn't need a quick after all
 
there is but then what if you want to apply a monad to the left argument then feed it to the right of a dyad
 
+⁸A¤
actually +@A is a byte shorter
wait, no, that reads from the right argument
so yes, +⁸A¤
fwiw I don't think you can easily do that with the current rules either
 
yeah
it's real awkward with the current rules
 
5:50 PM
it's amazing how quickly golfing languages can run into plumbing trouble
 
Having a version of { and } that doesn't change the parsing would be useful. This (specifically the ⁹L¤) annoys me
 
Brachylog blows up as soon as you try to juggle more than 1-2 values at a time
the syntax is easy to use and fully general but costs so many bytes :-(
 
also the fact that you can't chain metapredicates
 
I do like Brachylog's ability to go "The output meets these rules" and it's very often shorter than implementing the "steps" to get to the output
Declarative Jelly would be a fun idea
 
yes, and indeed the fact that metapredicating more than one predicate costs two bytes
 
5:52 PM
that mostly only works with integers
@ChartZBelatedly my thoughts exactly lmao
 
It seems like prefix or suffix would be shorter for a lot of things, right?
 
I have something like 2½ unfinished attempts to make a golfing language based on Brachylog and Jelly
 
@RedwolfPrograms the idea of jelly's syntax is that it's shorter in common cases, even if it's also a mess in some others
 
fwiw, my metapredicate rule in the more Brachylog-like language was to have a marker for the end of a metapredicate range, each marker matches the closest metapredicate, if any are unmatched then they affect just one predicate
 
I like the idea of having ½ an unfinished language :P
 
5:53 PM
one of them is only minimally based on Brachylog
 
my current attempt is planned to have backtracking but no constraint logic
 
the issue is that I mostly burned out on programming altogether last year
 
@RedwolfPrograms In addition to what Unrelated String said, Jelly's syntax rules in monadic cases is almost unparalleled
 
one of the languages is mostly designed, with a spec and everything (still a few gaps in it), but I only managed to write the parser and haven't gotten very far writing the rest of the implementation
I actually think Jelly's monadic rules are beatable, but it takes some rather major changes to the language
in particular, nilads can't usefully appear in many contexts, so I was thinking about a version in which each dyad could be represented by two different characters, one of which was also used for a nilad (whether to use the dyad or nilad interpretation would be based on context)
 
5:56 PM
that way you could get rid of the vast majority of µ and $ and ¹ used to fix parser ambiguities, at the expensive of making the language much harder to read and write
 
The one thing that kinda annoys me with Jelly (and this is based on my recent additions to my fork): the naming conventions limit the number of monads
 
(µ serves two purposes; the other one is setting a new implicit argument, which does seem to be worth a byte even when clearing up parser ambiguities isn't needed)
well you'd need new naming conventions if you were doing something like this anyway
 
@ais523 Yeah, I'm mainly just bemoaning the current version of Jelly :P
 
maybe go all-out Charcoal-style and just give all the monads and dyads long names that compress to a single character
 
@ais523 that idea might actually be what i need to convince myself to prevent ọ2 2*
 
5:59 PM
I've added a bunch of (IMO) helpful monads, but they all have to be Πsomething because there's no more single-byte uppercase letters
 
there's a Jelly corpus that was linked recently
 
because consecutive nilads are mostly useless even in dyadic links
but giving some other meaning
yeah
 
I've been wondering about parsing the programs from it to figure out which atoms/quicks are most used
 
@ais523 Yeah, I've been adding those suggestions as well (plus the PRs on the repo)
 
e.g. probably doesn't deserve a single byte representation, it isn't used enough
do you have a link to your repo?
 
6:00 PM
No, I haven't bothered actually forking it (it's all local), but Lynn's corpus includes the programs they used to analyse it
 
ah, OK
 
one other idea I had (sort-of borrowed from Brachylog) would be to have two sorts of list, one of which autovectorizes much more readily than the other
this might cut down on spam
 
you could even nest the two types at various depths
 
yes
the hard part would be in deciding which list-generating predicates generated which sorts of list
that said, is fairly common even in Brachylog…
 
6:06 PM
Fun fact, this would be 9 bytes when/if I finish my fork
 
btw, I realised a while ago that golfing languages can safely give useless digraphs new meanings, and there are normally enough of them available to supply all your needs for two-character atoms
 
idea: instead of having two-char atoms, have 10-bit atoms spread across multiple bytes
 
oh, golfing languages could probably do with byte sizes other than 8
 
@pxeger Better, make it use a variable length encoding
 
my Brachylog derivative uses 6-bit bytes, fitting most commonly used builtins into one byte and most of the rest into two bytes
 
6:10 PM
VLE might be too complicated to be usable
 
How?
Just make a binary tree thing
Not sure what you'd call it
 
Huffman tree?
 
huffman coding?
but then you've basically just compressed your code
 
even Jelly is variable length due to Œ! and friends
@pxeger that isn't a bad thing in a golfing language :-D
 
Œ! needs to be aliased as a single byte, it's used more often than ÆP and combined
 
6:15 PM
it's one byte in Brachylog
fwiw I believe that Æf is the "most useful" of the prime-related builtins
if you're trying to build a larger program and don't have a perfect builtin handy
 
yeah
it is funny that the least useful prime builtin is the only one that's one byte
 
I think I have Æf as one byte in my Brachylog derivative, as two, and the rest aren't builtins at all
 
@UnrelatedString ÆP was used 73 times before being "retired", Æf has been used 70 times since being added
 
interesting
 
6:30 PM
oh yeah that
 
@pxeger I wouldn't consider it compression, just a different encoding. I wouldn't consider morse code to be compression, although it's still variable length (and takes advantage of that to shorten the message).
 
for every Brachylog builtin, and every one-byte Jelly builtin, either it's there or I intentionally chose to remove it (e.g. I don't want to support floating point, which makes many of Jelly's builtins unusable)
 
-2
Q: Will it rain tomorrow?

expressjs123Given a 10-day list containing rain precipitation levels, output a human-readable prediction. An example of a possible input might be [80, 75, 0, 15, 25, 30, 40, 60, 0, 0] where each number represents millimeters of rain. In order to predict whether it will rain or not tomorrow, two factors shou...

 
@NewMainPosts I see what the starboard means about IO formats
although I would probably clarify it as either "a question should either be flexible about IO formats, or else be entirely about the I/O format"
otherwise you're just testing for two unrelated things in the same question, which isn't interesting
 
I got kind of excited when I saw the challenge title because there was a cool sandboxed challenge with the same title (about actually predicting rain), but it was just this :/
 
6:40 PM
That's a classic example of someone trying to compensate for their challenge being "too easy"
"I'm sure golfing languages will have a builtin for this, so I'm going to make them add in their compression builtins as well"
 
Oh it's been deleted
CMQ: Would you consider using huffman coding for operators in a golfing language to be compression?
 
what does CMQ mean
 
Chat Mini Question
 
Chat Mini Question
 
You could have command-line options to load different huffman trees for different categories of challenges
 
6:48 PM
I'd say it doesn't count, because unlike something like Stax's compression, it requires work from the language creator to decide on where to put each operator
@pxeger Command line options are cheating :p
 
@RedwolfPrograms writing in a golfing language in the first place is a form of compression, but I'd consider it something different from, say, the compressed string formats used by some golfing languages in which one nonprintable character stands for a specific sequence of printables
 
Real programming languages can be written in a single file :P
 
I think having different trees available makes sense but you should pay a byte cost for tree-switching
 
how are command line options cheating? Vyxal uses them extensively
 
It's not cheating technically, but it's cheating :p
 
6:50 PM
@pxeger FTFY: Vyxal cheats extensively :P
 
we used to have a rule where there were byte penalties for command-line options in order to give a fair comparison between languages with many options and languages with few
 
no
 
but we moved away from it because it was causing problems in some cases, now different command-line options = different languages
 
CLI options are the Huckster's crutch
 
so each of the various Vyxals does poorly on the majority of problems and well on a few
 
6:52 PM
IMO using flags is the best solution to the counting bytes, but it does seem vulnerable to devolving into Metagolfscript where you just use a bunch of flags and submit the empty program/a single builtin
 
it also makes it much harder to score languages that are programmed entirely using command-line arguments
(in such a case, I would consider the arguments to be the source code, and count bytes for them anyway)
 
I know we encourage intra-language competition, but it feels cheap to be outgolfed by a byte by Japt or Vyxal or whatever because they have -<whatever> which outputs the square root of the ToS or whatever
 
fwiw, one common command-line argument for esolangs switches between numeric and character code output
and it feels fair in a way to count that one, because functions (as opposed to full programs) normally get to choose whether they get characters or character codes as input anyway
 
Yeah, that doesn't seem like an abuse, because the functionality doesn't exist without the flag. But if Vyxal has a command to just output the ToS, but it instead uses the -o flag to do it instead, that feels cheap
 
actually, the ruling I'd really like to see (but is never going to happen) would be for every program to specify something like "inputs: two integers and a string, output: string" and for each language to have some agreed-upon algorithm for converting that into a function signature or full-program calling sequence
i.e. the I/O is predetermined by the challenge and language, you can't change it to fit the problem
 
6:55 PM
no, bending IO rules is the whole fun of golfing!
 
at least with short programs, you can encode substantial parts of the program into the I/O rules sometimes
 
Jan 27 at 23:00, by Lyxal
If they were counted as bytes I wouldn't use them
 
e.g. in 32-bit x86 asm, there is a one-byte builtin (0x9E) that takes a number as argument, and depending on I/O conventions, outputs bit 0, 2, 4, 6, 7, 8, 10, 12, 14, or 15 of that number
err, machine code, not asm
it was removed from x86-64 machine code, presumably either due to not being deemed useful enough to be worth a single byte or because it was hard to implement efficiently, but you can see how this sort of thing can sneak several bits of implicit data into the I/O conventions
(the funny thing is that in a larger program, it usually does just occupy one byte, because the commands surrounding it normally have a few bits reserved to mark the I/O conventions in use)
 
01:00 - 20:0020:00 - 00:00

« first day (3695 days earlier)      last day (1141 days later) »