« first day (3993 days earlier)      last day (1147 days later) » 
00:00 - 21:0021:00 - 00:00

21:00
The biggest unit that makes sense would be days, because those matter to our bodies and all
Nah, I think we should still have roughly month-and-year-sized units
And then we could have kilodays and stuff
Some people are farmers. Seasons sure matter to them.
:( So we still have years
Solar and lunar stuff only really matters for agriculture, religion, and planning vacations
21:01
The "solution" here would be to live on a space station :P
@RedwolfPrograms Agriculture is pretty important though
And I guess people do care if it's the cold season or the hot season or the rainy season
Wish we could adjust the earth and moon to make them line up nicely with each other and the sun
It'd be cool if, instead of leap years, clocks had fractional days at the end of the year
@RedwolfPrograms Make sure you don't ruin eclipses while you're doing that :P
What a lot of people used to do was just 360 days in a year, then the rest is a holiday of whatever length is needed to line back up with the sun
So months are all 30 days
That is an amazing way to handle it
"What day is it?" "Holiday"
0
Q: What is our consensus for fractional byte programs?

Redwolf ProgramsIn a discussion about SBCSs and other code pages, fractional byte counts were briefly brought up. I brought up our consensus that fractional byte programs are disallowed, and it was pointed out that the consensus does not disallow functions in languages with fractional byte code pages from having...

21:10
hey, does anyone understand this sandbox? I'm trying my best to make it clear but I don't know if its coming through
feedback too i suppose
I don't understand what it's asking for
You might want to add at the start that answerers need to pick two values as their possible outputs
@RedwolfPrograms You pick two values (e.g. true for your truthy value and false for your falsy value). When your truthy value (true) is given as input, output true. If anything else is given as input, output false
Oh okay, that's what it sort of seemed like but it feels like a step was skipped in the explanation lol
@user Right, but I also want to allow standard output, so not just "pick two values"
21:13
wdym
like, "falsy output" for rejection is valid
How would picking values bar stdout?
@thejonymyster So basically, a decision problem where you choose what you're deciding?
@RedwolfPrograms pretty much yea
Seems like no answer will be longer than like one byte minus boilerplate
If I pick true as my input, then x=>!!x works, or even x=>x depending on the rules
@RedwolfPrograms Yep, please did
Have done?
"Please did" lol
For example, it'd be just true.== in Scala
@RedwolfPrograms I turned 16, and I've been alive more days than that :P
21:18
Can you prove that reality didn't begin exactly 16 years ago? :P
Depends on your definition of "reality" and "year" I suppose
@user No, but I don't see why I should have to prove anything. Y'all probably exist only as figments of my imagination anyway.
:o
@RedwolfPrograms well you dont pick the input
i still feel like im just not coming across clearly more than anything
I mean the correct output
21:21
@DLosc If I'm a figment of your imagination, could you imagine me getting some candy?
I'd like a bottle of water, a new laptop, and a my own armed forces please
@user I have trouble imagining you as more than text and a geometric profile pic, but I'll imagine some random person who likes Scala and code golf getting candy and hopefully it'll be you
Now imagine a tall guy who looks really smart and attractive getting a bottle of water, a new laptop, and a large private army
But I'm not a tall guy who looks really smart and attractive, imagine a short guy who looks really dumb and ugly getting all of that
@RedwolfPrograms if your output value is "true" for acceptance and "false" for rejection, you should only output "true" if input is "true" or "false". something that evals truthily would wrongly be accepted by x=>!!x i think
21:25
@DLosc To narrow it down a little and improve my chances of being the one who gets candy, add in "hates broccoli", "hates cats", and "sleepy" to that description
Then, x=>x===1&&1
1 is my acceptance value, and false is my rejection one
@thejonymyster That's only because of JS having truthy values other than true. It doesn't change the fact that it's trivial
I think this isn't a bad challenge but you can add something on to it to make it at least a teeny bit challenging
@RedwolfPrograms what does this output if you input some random string like "joe"
@RedwolfPrograms I'm picturing Kevyn from Schlock Mercenary, close enough?
@thejonymyster false
21:27
hm
wait so if you input false it outputs true?
ohh wait
Hang on, that makes it slightly less trivial
right, if its /either/ of your outputs
thats the idea
sorry i dont know how to like
express that clearly apparently lol
@DLosc It's blocked on my wifi :/
But I will assume he looks exactly like me, and I will be awaiting my fleet of aircraft carriers with a bottle of water, a new laptop, and a sizeable nuclear arsenal
@user I will think about it smore and see if i cant figure something interestinger to do with it
but it isnt meant to be terribly difficult
i want to see just how short it can be with clever i/o choices etc
but what the site prefers the site shall receive ! ^_^
x=>x===1||x===2?1:2 would work I think?
In which case it's not as interesting as it seems at first :p
21:32
Thinking over about this sub-byte meta I've just realized a truly horrible way to make a language that is virtually impossible to score properly, and would likely create a incredibly stupid meta discussion. I'm just going to lock that away in the recesses of my mind and hope that it never comes up. :)
Now we're curious.
Might have been a mistake to mention it.
@RedwolfPrograms :/
Even by mentioning it, you've opened Pandora's Box :P
You might as well just bring it up now so we can decide how to handle it lol
Eventually someone will probably think of something similar anyway
21:37
Ok I will say what it is once I come up with a solution I like. :) I don't think it's very likely that anyone will come up with it since it's based off of some observations I made a while ago when trying to implement a non-released esolang.
I could imagine a programming language in which the amount of space required for a function depends on the other contents of the program...
Not sure how easy-to-abuse that idea is, but it could at least complicate the scoring
Yep, I was thinking about that too
My idea isn't an abusable idea. It's not like a way to get 0 byte programs, It's just a way to really muck with things.
The real pandora's box is now I can't stop thinking about it since I mentioned it.
please tell us 🥺
@PyGamer0 My suggestion would be to change the red color, maybe make it lighter. It's hard for me to read against the black background.
@PyGamer0 This color is a bit better.
21:47
@WheatWizard So when you say "If you want to make a virtual file system that allows you to make files of non-integer byte sizes, and these files can be packed together without padding, so they truly take up a non-integer number of bytes, then you can do that. I think pretty clearly then your file is not taking up an integer number of bytes, so it's score is not an integer number of bytes.", you mean you'd be allowed to score full programs as a non-integer number of bytes if you (1/2)
wrote a file system that could store it on your disk?
That seems like it's basically the same as how functions would be scored, but with a little bit of like...unobservable-ness on top
I guess it's observable as long as your file system is open source or at least freely available
A virtual file system here might be nothing more than a program which takes a file which can store multiple programs each of which can be run from the file. You don't even need like directories or all the stuff that goes into a file system to make it usable.
Like, if my language uses trits, I could write a program that stores trits on a simulated trit-based file system on a file on my disk, but it doesn't really seem clear whether the size of that would be counted as: (1) the size of the trits in bits, information-theory-style, (2) the size in bits that's used in the file to actually store the information, or (3) the size of the file that's used to simulate the file system
I guess you could have a language where calling a function takes enough bits to "fill up" a program to the next whole byte value, and it gets "implicitly" added to the end of a program, where the program is just the function body
Like if my "file system" program just takes a list of trit-based programs (some ascii representation I guess), concatenates them into one big ternary number, then converts that to binary and stores the bits as a file, how many of those bits belong to each of the inputted program?
21:55
Well as the number of bytes in your file system goes to infinity the padding bits goes down to zero in purportion to each file.
what if you literally run it on one of those russian ternary computers
as long as its not c&r that should be fine right
I think it's very reasonable to just look at the amount that adding a file to the system increases the size of the system.
Would that the be dependent on the files that were already in the system though? For bits it wouldn't, but it gets kind of weird with trits or algebraic encoding
imo assume the system is empty before your program's file(s)
or, well, "empty"
So that's basically exactly the same as just requiring padding to full bytes and/or bits, right?
21:58
hm, fair
maybe not then
@RedwolfPrograms Unless you are using something much more exotic than trits it holds true.
I do think that there is a certain potential to abuse this but 1) There are already ways to abuse systems e.g. "programs" made entirely out of empty directories, or inventing a language specifically to solve a problem. 2) I think we should optimize for sensible general purpose rules instead of worrying about hypothetical exploits.
@RedwolfPrograms I think it would depend, as long as the added part can have fractional bytes but the overall size is measured in whole bytes.
That's my hesitation about WW's answer for functions, too. Say I have a function that's 10.5 bytes. If my main program is 10.5 bytes, it has to be stored as 11 bytes, so adding the function adds 10 bytes to the overall size. But if my main program is 10 bytes, adding the function adds 11 bytes. So wouldn't it be accurate to say that the size of the function is either 10 or 11 bytes, depending on what the rest of the program is?
(This is starting to sound like quantum physics.)
Python lambdas already have different byte sizes depending on the rest of the program.
In some cases they require parentheses and in some cases they don't. Depends on the rest of the program.
But the rest of the program could be anything (e.g. if you're mapping over the inputs explicitly or let mapping happen implicitly). I think you should consider just the function, separate from the rest of the program
@DLosc i'd think that some fractional number of bytes would be the best way to represent this phenomenon anyway
"it behaves as if it is 10.5 bytes"
22:09
True, that's a decent argument. "Adds 10.5 bytes on average" is how I'd put it.
exactly yeah
also something something tj henry yoshi lol
I think there are some metaphysical issues here in terms of stuff like what information counts as a part of the program / function, that we simply cannot surmount. But I think that here we should "optimize for pearls". We have no evidence of any bad faith sub-byte exploits but we have plenty of evidence of legitimate languages that do interesting stuff with sub-byte encodings. For that reason I don't see any reason to penalize the legitimate languages on account of hypothetical languages.
3
TJ "Henry" Yoshi, went to my university and I have actually met them.
:-)
thats rlly cool
@WheatWizard I mostly agree with you, but we also have a history on this site of adding rules to cater to existing languages, which rules are then intentionally used (exploited?) by new golflangs. (Custom codepages and free flags come to mind.) So I don't think the hypothetical is very hypothetical.
also whats the verdict on using non-binary hardware
22:13
I'm pretty sure that everyone agrees that actually non-binary hardware is definitely legitimate and I don't believe is really in question here.
So long as there exists an interpreter on a piece of hardware that can run a piece of code with the claimed byte count, it's valid
@WheatWizard very cool time to go but a ternary computer
@DLosc i cant really think of a major exploit though. you can only "cheat" less than a byte off
@DLosc I guess my thought is sort of just let them. Competition is not meant to be between languages so you're not really cheating anyone. Sub-byte opimization might actually spice up competition in golfing languages since often times the difference between 5 and 4 bytes is immense. And allowing a further gradation there gives some room for people to compete.
@cairdcoinheringaahing Do we even need that piece of hardware to exist? As long as it can be emulated, it should be okay, right?
I basically am suggesting that emulating the hardware is fine. I think that is a bit of the issue at play.
22:21
@thejonymyster Is this hardware that uses they/them pronouns? ;P
7
@WheatWizard Hmm, so you'd basically just pack all your programs into one file and then put a list of (name, offset) pairs at the beginning, with sub-byte offsets allowed?
Yeah, that is what I was thinking.
Then, of course, you might want to write a shell that treats this file as a normal directory...
I think you would want a program to pack files in and of course the interpreter/compiler to actually read the file.
I was just thinking it'd be pretty cool to be able to do this:
$ cd examples
$ ls -l
total 8
-rw-r--r-- 1 dlosc dlosc 18.5 Nov 25 13:37 collatz.hb
-rw-r--r-- 1 dlosc dlosc 14.5 Dec 18 01:23 hello.hb
22:37
Sounds like a lot of work, though
Most programming languages are.
23:17
@WheatWizard That's not at all my concern though
I'm not worried about languages getting unfairly low scores, more about just having a consensus about how to score them in the first place.
Though as someone who has to maintain scripts that parse CGCC headers, I'd prefer if decimals (and worse, fractions) didn't start showing up lol
@RedwolfPrograms I was thinking about that X^D
I'm still a fan of the full-programs-must-be-individual-files rule, and I think that works well with a full-bytes-only requirement for full programs
Allowing users to simulate a file system that can accept sub-byte files feels like it would make things unnecessarily complicated
I don't know if it would make things unnecessarily complicated, as long as the process goes like:
1. Someone makes a file system simulator that can accept sub-byte files
2. Nobody actually has to use it, they just start claiming fractional bytecounts
That just doesn't feel like a good idea to me
Like...if we're going to do the fractional byte counts thing for full programs, we should just allow it without this weird file-system-simulator-that-dies-for-our-sins-so-we-can-all-claim-fractional-byte-counts concept
3
23:50
What's the LYAL?
Last I checked, it looked like Lost had the most votes.
Wasn't Lost already the LYAL?
I mean I'm not complaining. If people want to learn Lost I am here to help.
If it was, there's no note about it.
I missed the last few, so it might have been there.
Yep, Lost was LYAL on Dec 8th
If there are languages that have been learned but not marked, I'm not sure how to find out which lang is next.
00:00 - 21:0021:00 - 00:00

« first day (3993 days earlier)      last day (1147 days later) »