« first day (4133 days earlier)      last day (703 days later) » 

11:18 PM
Alright, time to see if Copilot's correctly guessed rSNBATWPL's interface
@RadvylfPrograms How does input_prom work and what does it do?
 
It asks for the location of the nearest major high school dance
 
Okay, cool
 
(It's for additional input, you give it an async function that would handle prompting for input)
IIRC you set it to null if all of the input is given at the start
I'd model how DSO does it off of how rsnbatwpl-cli handles files
 
Okay :)
 
Wait nvm rsnbatwpl-cli uses input_prom too
You shouldn't even need to set input_prom or scop
 
11:23 PM
I'll just pass it newline-separated input from the input box
Okay
Should I set slow_loops?
 
Yes, that'll prevent (non-recursive) infinite loops from freezing everything
 
Okay. What's the difference between prints and sprints?
 
Different formatting
 
one of them runs
 
One's intended for printed output, and one's for REPLy stuff that needs more technical detailss
Yess, my preciouss technical detailss
 
11:27 PM
whats the lyal for today ?
 
rsnbatwpl
 
rSNBATWPL
 
bro how did this random lang get 9 upvotes
oh bruh
so fast
 
it's not just some random lang
it's far, far worse :)
 
thought it was gonna be pip lol
 
11:29 PM
pip next time, I guess
 
i skim through the docs, and.... how does nothing error, what
> RSNBATWPL solves this, by ensuring that nothing will ever error.
^ how does that work
 
The power of null
 
It just does really wack shit instead of sensibly erroring
 
rSNBATWPL has no errors... except itself.
 
Well actually, it's slightly a lie:
    if (code_unsafe.match(/\b::/))
        throw "Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM"; // Todone: move this to a random point in the interpreter, so it sometimes doesn't run

        return op;
    };
 
11:34 PM
@AidenChow It just goes a step beyond weakly typed languages and is really, really error tolerant
@RadvylfPrograms Oh god you inserted PHP
I'm reading the implementation rn, did you intentionally make it hard to read?
 
Halfway
 
Why is casting async?
 
I went with the ideology that, since this language will be cursed anyway, I wasn't going to bother doing things the "right" way
@user Because it sometimes has to do something requiring other async code in some edge cases, and once it's async, everything downstream is
 
ikr, it's a pain
 
Ah, so it's just an async problem, not a you problem
 
11:37 PM
Specifically, resolving identifiers is one case where async is required
 
I've run into that with DSO AND EVErything is now async because some interpreters require it
 
Isn't it just looking up in some dictionaries?
 
Sort of
Actually wait, it turns out the async isn't strictly necessary, I was using a function which can also do async stuff for convenience (before the async functionality was added), which necessitated async still
 
frick ASI
I had let scope = {...} (Function(text).bind(scope))();
 
what is async code ?????
 
11:41 PM
@emanresuA is js as bad as python for mixing async stuff with normal stuff
 
@AidenChow In JS, async is syntactic sugar for promises, which are how you do something and get a result later
 
What radvylf said - everything downstream/upstream is async once something is
 
upstream downstream whaaaaat ????
 
Just a metaphor for "when you use it"
In order to use the result of an async function, you need to run it in an async function
Which means if a single helper function in your program now needs to be async, almost everything does
So you need to paste await before every function call and async before every function definition
 
Frick my scope binding isn't working
And I don't understand it - shouldn't abc in a context where abc is undefined try to get the value of the global abc?
 
11:47 PM
Yes
If you're messing with scop stuff though, be careful
Or is this JS's scope
 
JS's scope
 
It should, yeah, unless something weird's going on
Is this for require?
 
Hm... (()=>x).bind({x: 4})() errors
 
I don't think that's how bind works
Doesn't it only change the this?
 
think so yeah
 
11:51 PM
Frick
Looks like I'm gonna have to edit the code with regex
 
Also note that bind is practically useless on an arrow function
Since arrow functions inherit the this of their parents or whatever
 
I forgot about hat frick
 
> hat frick
 
(Function('require', 'module',text))(require, module);
 
ooh that's so elegant
 
11:57 PM
not knowing any javascript, that seems disgusting :P
 
yeah what the fuck
 

« first day (4133 days earlier)      last day (703 days later) »