« first day (4434 days earlier)      last day (708 days later) » 

14:02
for the most part
I'm not changing the parser extensively, because it works fine, but pretty much everything after it is being modified if not remade
0
Q: Do absolutely nothing

undefnedWrite a program that has at least one byte that, when run, does absolutely nothing. I thought this would be done by now, but I can't find any How to tell if it does nothing: No variables are declared Nothing is returned Input does nothing You could run a program after it and it would run normall...

VTC as no OWC
this challenge is impossible in pretty much any language
the main issue is what's stopping me from submitting thousands of programs that are just an empty file
A literal space would be valid in pretty much any language
14:04
^
It said input must be at least one byte
so you couldn't submit a 0 byte solution
I could still submit hundreds of Python answers with varying numbers of spaces
"It's like you never ran it in the first place"
what's the point then
also like how do I define "no variables are declared"
I think they mean it shouldn't effect the program state, whether via the stack or variables
14:07
also what's stopping me from submitting a Text answer
oh, I guess technically all programs in Text are quines
@Ginger Text would be invalid, it would output something
output isn't explicitly ruled out tho
unless that falls under "Nothing is returned"
I’m guessing they mean no output with Nothing is returned
@RydwolfPrograms whoops
opinion-based then
14:09
If you can output stuff in a challenge called "Do absolutely nothing" that would be comical
or just "boring"
Needs details or clarity
Eh I guess it can stay open
14:09
You shouldn't VTC posts for being terrible
Just downvote
It's mega unobservable
It's observable
What is "declaring a variable"?
Besides not overvable is not a rule
What is "run normally" in "You could run a program after it and it would run normally"?
14:10
Doesn't need to be, it's still unclear
Do I need to check what the JVM is doing when I run my Java answer?
He states it means you could insert this program inside any other valid program and it wouldn't effect execution
I want to comment "Pretty much every C-family language, 1 byte: just a space"
@mousetail That's not how I read it
What else do you interpret "You could run a program after it and it would run normally" as?
14:11
E.g., the program () might do nothing in a lot of langs, but I can't insert () anywhere in an existing program and expect it to run fine
what if my language has no variables?
@mousetail After it like, ./nothing ./otherprogram
Actually it says you should be able to insert it in the start of any program
Not in the middle I misread
So a linebreak would be a valid answer in any language, but a space not always
I don't think OP's talking about inserting it, textually, into other code
the best one is "It's like you never ran it in the first place", because there is absolutely no way for that to be observable
14:12
That's what the question says
But...this goes to show how unclear it is
It literally says
like even if I run a program in my command prompt that still moves my cursor around
@Ginger Actually that's precisely observable
what? how
14:12
Also you shouldn't close posts for being unobservable, just downvote
It just doesn't say what you need to observe. "Not changing an external thing" is observable, that is an observation
@mousetail If the unobservability gets in the way of knowing what's valid, you sure should
That's not how it works
@mousetail That's how you read it
I am reading it, at this very second, a different way
What makes your reading of it automatically right?
._.
can we get another close vote so we can be done with this debacle?
It says you could "run" a program after it, not insert it a the beginning of the code
14:14
That could benefit form more clear specification
But the intent is clear
IMO OP wanted to say "write a program that does not affect the state of your computer in any way", as emphasized by his last point
@mousetail How's it not how it works? Unobservable requirements mean there's fuzziness/a lack of clarity over what's a valid answer, which is the precise purpose of the NDC close reason
@mousetail It most certainly isn't if two reasonable people interpret it two entirely different ways
^^^
Nobody else interpreted that sentence at all
I was the only one who had a reasonable explanation
but there's no way to run a program that doesn't affect the state of the computer, which is why this is unobservable
4 mins ago, by Rydwolf Programs
@mousetail After it like, ./nothing ./otherprogram
14:16
running any program changes a whole load of things, from the OS's PID counter to the position of the cursor on-screen (if you ran it in a shell)
That's not really reasonable, because then declarting variables wouldn't effect the next program
"You could run a program after it"
My interpretation of "running a program" is running a full program
Not inserting a second program into the same file and running it all at once
But you could run loads of programs that do stuff before another one, and the second would work fine
so it doesn’t really make sense
14:17
It's sheer, unbeliebvable assholery to declare that you have the only reasonable interpretation of some vague sentence in a context where both options are questionable
@Fatalize Same's true of pasting it into a second program tho
It's the only thing that makes sense in context, unless you are purposefully trying to interpret in a way that makes no sense and makes the question bad
Most programs that do nothing will just be statements that do nothing
assume good faith
@mousetail Except I don't think yours makes sense with the question either
Yes the question should be clarified but that doesn't mean the intent isn't clear
14:18
Nowhere does it talk about the actual physical source code
would yall mind having this argument somewhere else?
They're all about effects of the code, not the code itself
This site it about source code
I’m not sure it’s quite appropriate for a room owner to outright call someone an asshole
^
that's a chatiquette violation
14:19
Not calling the person an AH, just an action of theirs AH-y
you’re as nitpicky as mousetail
> Be nice [...] means avoiding name-calling
I like mousetail but asserting your interpretation is the only reasonable one is incredibly rude
When I read that rule, I read it the way I read it
please discuss this in TST or a dedicated room; I'd like to talk with @Seggan about Rabbit
14:20
You admit yourself your interpretation is not reasonable
When I consider both options, neither makes sense to me
Mine makes more sense to me tho
The fact we can even have this argument renders itself moot. It shows it's unclear.
I am part of this question's intended audience. You are part of this question's intended audience. We do not have a shared understanding of what it means. End of discussion, it's unclear.
It would take a two-word edit to fix this, and that's what needs to happen. Until then, the question shouldn't be answered.
Thus, VtCs.
are we done?
@Ginger This is more on-topic than Rabbit
In the hierarchy of on-topic-ness, discussion of moderation of the site should always come before side projects that aren't even intended for code golf
5
Rabbit is on topic, normally
@RydwolfPrograms okay, fair enough
14:23
Also, no rule against having two conversations at once and playing a game of musical pings :p
I think we should insult each other on the topic of whether Rabbit is on topic
oh no
(but first: what is Rabbit?)
@Fatalize hey, VSauce! Michael here.
Language Ginger likes to talk to themselves about
14:24
wait, myself?
has Seggan been a hallucination this whole time?
Anyone who thinks Rabbit is on-topic is LUDACRIS IDIOT
Here, Ginger talks to themselves while me and Lyxal have a unrelated dicussion: chat.stackexchange.com/transcript/message/63218268#63218268
I enjoy reading it but I don't really understand anything you say
okay yeah I guess I have been doing that
@RydwolfPrograms I forgot I said that lmao
how tf did you remember it
It's okay you had a headache
*takes Tylenol sexily*
14:28
To the rest of TNB I promise we're referencing an inside joke and not just very weird
Can't it be both?
technically it's a meta-inside joke
I still don’t know if Rabbit is a new esolang or what
It's a praclang I'm working on
Praclang? Ew
14:29
I made it primarily because I was infuriated with the dumpster fire that is Python's packaging ecosystem
@Catija hi
Pythons eat rabbits though
@Fatalize Uh oh
no, this is a giant, skyscraper-size rabbit that squishes pythons whole
14:30
Ginger you didn't think this through
yes I did
Time to write a language called Eagle which forms a symbiotic relationship with Rabbit
I've been waiting for at least two months for someone to point that out so I could use that response
Would you rather fight 100 small Python packages, or one skyscraper-sized badly implemented Rabbit?
I wonder if I can kick-mute myself
14:32
It’s called disconnecting and going outside
That would be illegal
Truancy
@Fatalize if nobody uses Rabbit, nobody will ever look at the internals; if it gets popular, thanks to Godwin's Law people will decide to go and fix it themselves :b
the classic Xanatos Gambit
This approach has gone terribly wrong in the past, just look at PHP
Aw man, I can't kick-mute myself
I was about to mention PHP
14:37
Or squirrel
> $.post("/room/kickmute/240",fkey({userId:347075}))
Doesn't seem to do anything
if a challenge is really bad should you flag it, or just downvote?
If it's spam or offensive, flag it
If it should be closed, VTC
Otherwise, downvote
@Ginger gimme a few mins
Users who don't have 3k rep yet can flag to close, but it's pointless if there's already close votes
Since IIRC all it does is put the question in the VTC queue
14:44
Are the rep levels different between stackexchange sites? I don't see how to VTC on codegolf.se, but I can see the review page on stackoverflow even though I have lower rep there
Reviewing only takes 500
VtCing takes 3000
@mousetail i don't have enough rep to vtc :(
Then just downvote
I also can't see the review page on codegolf.se, fwiw
ok
14:45
or at least it's not as obvious
And post nome high quality answers so you can VTC the next one
easier said than done :p
@Bbrk24 It should just be here:
Unfortunatly true
On SO they might put it in a more noticeable place, but if so that's a special case
14:46
Oh, I see. It's in the same place, but on SO it's red so it stands out a lot more
i get many ideas for challenges but most of them are just really bad or unoriginal
The red dot indicates there's stuff in the queue
On CGCC there's like five of us with review scripts so we easily keep the queues cleared
Review queues are always full on SO
And always empty here
(If you want the best™ review script, here's mine)
What does it do?
14:48
(Just pin /review and it'll open tasks in new tabs when they show up, you can also configure it to play a ping sound)
i did have an idea for a challenge but i don't think it would be a good fit: write an obfuscated hello-world "program" that could is a text block to run into chatgpt and get that
but i feel like it's kind of boring and chatgpt isn't really an interpreter
ChatGPT isn't deterministic is it?
And even if it is it periodically changes
@RydwolfPrograms Of course that prompts me to download a random script instead of letting me look at the code
not really but certain prompts will work consistently
14:50
obfuscated is also not really measurable
Thanks
Most of the userscript managers show you the code under the download button
I've also never set up a userscript on desktop before
(I have configured a userscript for an in-app browser for an iOS app I was working on, but I assume the API is completely different)
@Ginger ok im here
what do you need
busy rn :p
sorry lol
css colors be like
seriously, gray is darker than darkgray
@RydwolfPrograms Brownwolf Programs confirmed?!?!/1//!?1??
@Ginger Were you around when I wqs Browncat Programs?
Can't find my browncat pfp unfortunately
There
15:17
0
Q: A randomly colored walk

CursorCoercerGiven two inputs, a distance \$d\$ and a number \$n\$ output a list of \$n\$ random colors which each have distance \$d\$ from the previous. Background A random walk is a path which is defined by choosing a random direction and (usually) fixed distance to go at each step. We will be taking a rand...

Me, trying to undo a git add: git subtract .
15:51
I just had an incredibly cursed idea
so yall know how Carrot has repositories (package sources) and libraries (package sinks)?
well what if they were one thing
to upload a package to Chinchilla you'd do carrot install --to https://repository.chinchilla.dev me.mypackage
(I keep forgetting that I renamed Burrow to Chinchilla)
@RydwolfPrograms what are your opinions on this idea
(although there'd be one difference: carrot wouldn't be able to directly run programs using packages from "remote" libraries, so that it doesn't re-download everything every time it's run)
actually, that's kinda an arbitrary restriction
I thought you removed the concept of both repos and libraries
I did not :p
@Ginger Just use a cache
Explain to me what they are again then please
sure, one second
a library is a directory on your computer that contains module source code (and a database file of what modules are installed in it); a repository is anything that can provide packages to install in a library
but what I realized is that the two are basically the same thing
so what I'm considering doing is combining them into one concept
if I did so, uploading a module to Chinchilla would look to carrot like installing a package in another library, except the library isn't on your computer
and installing code from Chinchilla would be the same thing in reverse
@RydwolfPrograms does that answer your question?
I think they serve two entirely different purposes, merging them wouldn't make much sense
16:05
they don't really
A repository should be able to have a random assortment of modules
each one is a store of modules
A library has a semantic purpose
A repository has a much different semantic purpose
what do you mean "semantic purpose"?
As in, what you use them for
A library should be runnable; it should have all the stuff you need, and focus around a specific main/lib module
16:06
just to be clear, by "library" here you mean "thing that contains modules" not "module with utility code"
right?
A repository could just be a random assortment of modules I've made
Actually I don't really see why you need the concept of a "library"
I guess "library" is a bit of an ambiguous name here
Well, capital-L library, as you described them
1 min ago, by Ginger
just to be clear, by "library" here you mean "thing that contains modules" not "module with utility code"
What would the distinction be?
Could I have a "library" that's just a random collection of unrelated modules?
If so, that's kinda pointless
16:09
I'm using "library" here to mean what "repository" generally means; perhaps I should just refer to "repositories" instead
A repository should be able to contain arbitrary, unorganized modules
correct
and what I'm going to do is treat everything as a repository, from modules on your computer to modules on a remote website
If I want to install a module as an end-user, I download a bundle file containing it and its (static) dependencies
wrong
16:10
fricknuts, brb
16:23
@lyxal Yes
17:03
LDQ (not really): what setting to I need to change for bash to interpret my output as UTF-8 and not CP-437
Wait what
I changed nothing and it works now
okay my environment is just cursed i guess
Oh no it depends on where I open the terminal from. If I open bash directly it's fine, but the integrated terminal in vs code uses CP-437
@RydwolfPrograms if you want to install a module as an end-user (assuming you have carrot installed, which you should) you'd just do carrot install goatsinc.goatRecognizer and Carrot would download all the dependencies and install them into... probably your user library if you didn't use sudo
@Ginger yeah. you forgot the hive exists?
D:
LMAO
@Seggan cursed type: sealed class ResolvedType<T: RabbitObject<this>>(name: FullIdentifier, visibility: Visibility) : Type(name, visibility)
because of course this is a valid type parameter
17:19
@Ginger wait how does this work
I'm currently checking to make sure I'm doing it right, which I'm probably not, but it amuses me that it's legal Kotlin (I think)
it looks like I am, somehow
There's two ways I can think of this working: The TypeScript this type, which can only be the value this and nothing else; or the Swift Self type, which is any member of the same type as the object (useful for writing interfaces)
oop no it's an error
e.g. addition is defined as func +(lhs: Self, rhs: Self) -> Self
nvm lol
fixed definition: sealed class ResolvedType<T: RabbitObject<T>>(name: FullIdentifier, visibility: Visibility) : Type(name, visibility)
much better
I've got a lot of recursive type definitions in my code
well frick
now I've really gone and done it
I have two types, each of which has a generic parameter that must refer to the other type
and I don't know how to fix this
@Seggan halp
17:33
@Ginger NICE
me when Kotlin doesn't have self types
I have a way to fix the issue but it requires self types
that issue can maybe be fixed by a recursive type bound but that makes it even worse
F-bounds are what are normally used (you seem to be using them already)
@Ginger nvm it doesn't fix anything
Come to the Scala side, we have self types
@user what?
17:40
What you're already using (wikipedia article)
@Ginger remove the recursion
Like when you do interface Foo<F extends Foo<F>>
@Seggan can't
rework the code
don't wanna
17:40
you seem to have made a lot of cursed code
the problem is that an object class needs to know its type class, but its type class needs to know the object class
Perhaps you should try planning out what exactly you want to do before jumping into the implementation
Often helps
because both of them need the other's type
@Ginger Does it really, though?
17:42
No (technically), but if I fix it then I have to add lots of awful turgid code
One exists at compile-time, one exists at runtime, right?
maybe you don’t need them to be separate to begin with
am typing please wait
@Ginger also wait what
Your compiler should be doing the typing for you :P
17:44
basically the type class has an instantiate function which creates a new object object from it, which obviously needs to know the type of what object will be created; I can fix this by passing the type to the object object upon creation but that 1. adds lots of extra code wherever I want to make a new object object and 2. makes object classes do things that types should handle (like visibility)
wow that's unintelligible, and I wrote it
me and the lads passing types to our object objects upon creation
I guess I'm slowly going insane
@Ginger more adv kotlin
program.opcodes
        .mapIndexedNotNull { index, (opcode, args) ->
            if (opcode == BaseOpcode.LABEL) index to args[0] else null
        }
        .toMap()
        .let {
            IntArray(it.values.maxOrNull() ?: 0) { i ->
                it[i] ?: program.opcodes.size
            }
        }
okay
I think I fixed it
our class definitions are now:
sealed class ResolvedType<T: ResolvedType<T>>(name: FullIdentifier, visibility: Visibility) : Type(name, visibility) {
    abstract fun instantiate(parentContext: Context): RabbitObject<T>
}
and
abstract class RabbitObject<T: RabbitObject<T>>(val type: ResolvedType<T>)
good
@Ginger Okay, that seems like a really bad idea
Types exist at compile-time, their instances exist at run-time
Unless your language has reflection (either compile-time or runtime), there shouldn't be any connection between the two
If you only have runtime reflection, consider having one class for types that exist at compile-time and another class for reified types that you use for runtime reflection
idk how compile-time reflection would work
@Seggan Why not do a filter followed by a mapIndexed?
program.opcodes
        .filter { (opcode, _) -> opcode == BaseOpcode.LABEL }
        .mapIndexed { index, (_, args) -> index to args[0] }
        .toMap()
The second feels clearer to me, unless I've misunderstood your intent
@user performance
i didint think of that, actually
17:56
Oh, an extra intermediate collection
Does Kotlin have something like Java's stream? I assume it does
i wasnt serious
Oh
@user yeah, sequences, but i never use em
ty for the tip
np
0
A: Sandbox for Proposed Challenges

97.100.97.109Qat Equation Solver code-golf Qat is a tool that lets you search for words matching a given pattern, often used by crossword and other word puzzle writers and solvers. In this challenge, you will have to implement a specific part of Qat, namely a subset of the "equation solver". Equations The out...

17:59
@user uhhhhhhhhhhhhhh
I understand what you're saying but I do not understand how to implement it

« first day (4434 days earlier)      last day (708 days later) »