« first day (1034 days earlier)      last day (741 days later) » 

00:02
@lyxal parameters named * are problematic
Can we not have that feature
Pleeeeeeease?
It would take some cery complicated code to implement
Please
This is one of those things where you half lose your sanity implementing something and it’s a mess when you’re done and it keeps causing bugs and you beed therapy at the end of it
Please
I beg you
What's making it so bad?
I will try to implement the debugger single handedly by Sunday if you want but not this
@lyxal peek
If you peek over and over again it’ll just repeat the same values
Eh
That's a problem for the program writer
So your code works for pop + * but not peek
If they somehow manage to make varargs happen when peek is enabled that's a them problem
00:09
And idk how to make it work for peek + *
@user ye
@user don't
@lyxal well you just need to use one of the forkiied functions (like +) with vararg functions
Peek + varargs doesn't make sense anyway
I had that in mind when implementing it last night
I guess we could just throw an error if someone does it
@user varargs in a fork also doesn't make sense
00:10
Or ignore *
@lyxal true true
We need to have a way to log warnings
Isn't there a log setting anyway
Since vyxal shouldn’t throw exceptions because it’s a golflang but it should ve easy to debug
@lyxal there is, we should start using it :p
Context might need a log method for ease of use
Forgot about that totally
I assume logs would be sent to stderr?
On the online interpreter we could do console.log maybe
@lyxal Do we really want fi rof and elihw
Even bash doesn’t use rof and elihw
I thought literate mode was supposed to be pretty :(
Oh is this for auto closing
That would make sense
It's for structure closing yes
They're all aliases of } anyway lol
So you can use end-if or just end if you want
Hell, you can even do something like if-true code end-lambda
Not recommended, but you can if that's how you want to roll :p
00:43
@user why isn't the PR rerolling the element docs and literate map?
@emanresuA Monaco syntax highlighters are really nice (as are CM6's). They are based on tokens
01:31
@lyxal Wait, if they all turn into the same thing, why have rof and elihw? fi I can understand because it's a thing in Bash, but I have never seen rof and elihw
Try not to laugh in public like an idiot challenge (impossible)
@lyxal cookie
I am willing to die on this hill (rof and elihw)
@lyxal I may or may not have added the source code to paths-ignore
01:33
susway cookie
@UnrelatedString cookie
lol it does look half sunglasses
@user it was mostly for symmetry. I don't really care if they go :p
\o/
Now to find some other hill to go die on
@user It was worse than that, there is no longer a workflow for generating element docs ._.
To make up for it, I will give you a Subway cookie
@Ginger An error occured while processing event ae9d9a60-acd1-11ed-8103-9851a07d9f9a!
!!/die
01:40
@user You do not have permission to run that command. If you think you should be able to, ping Ginger.
Fork you
Could you please just shut up every time someone commits
@Ginger If I kick the bot now, will it be able to re-enter?
@Ginger An error occured while processing event 18aa5880-acd2-11ed-96fe-b54fb406b67c!
!!/status
@user I am doing something you'll never be smart enough to comprehend
!!/status boring
01:44
Bot status: Online
Uptime: 3:49:58.535830
Running since: 2023-02-14T21:54:21.765162
Errors since startup: 7
@Ginger An error occured while processing event a568c590-acd2-11ed-9b2e-e98a6eaec2b6!
@Ginger An error occured while processing event da2104a0-acd2-11ed-9c20-3550a2caddd1!
me when vyxal bot was kicked from vyxal and cannot return for 1 minute
I just need to make a commit right now
Wait nvm tests failed so I can't commit
Did not need to kick it lol
02:01
@Ginger An error occured while processing event 9d297ee0-acd4-11ed-8f10-42635498c9bf!
Gigner's gonna wanna fix this anyway
Because that's a lot of pings :p
lol yeah
Btw, I made it so it doesn't generate literate mode mappings and insted just makes them at runtime
@Ginger An error occured while processing event cdd9f150-acd4-11ed-9ece-55b76cc4cc33!
Just in case the workflow stops working in some subtle way at some point and we don't notice
Hopefully that doesn't add too much extra start up time to the interpreter
02:03
We could make it lazy
@Ginger An error occured while processing event 1a706b20-acd5-11ed-9d97-2eaf87c0bab1!
We should really temporarily ban the bot or something so it stops bothering Ginger
!!/die
@lyxal You do not have permission to run that command. If you think you should be able to, ping Ginger.
oof
02:05
Well
Apart from bringing 20 thousand mods to this room because of three chat kicks, I don't think we can do anything
We can ask hyper to kick the bot for longer
Or, even better, put the entire room in a time-out
Which we can talk through lol
I think?
This room was placed in timeout for 20 seconds; yes
You'd have to un-RO the bit first lol
*bot
True lol
@Ginger An error occured while processing event b9a105f0-acd6-11ed-87ba-aacbc286cd00!
02:16
Gah
Right after the timeout
Also, a time out means that new people or non-ROs would be unable to talk though
Oh the bot is an RO
@user bot is RO
Ninja'd
@lyxal Yeah, never mind that idea then
@Ginger An error occured while processing event f452cf80-acd6-11ed-9bb5-750931e11fcf!
02:18
we'd need to figure out how to crash the bot
!!/help
!!/status
I'm Vyxal Bot 2.0.0 made by Ginger and hyper-neutrino.
All of my commands start with !!/
If you want help for a specific command, do !!/help <command name>.
New to Vyxal? Try !!/info for more information.

Command list: amiadmin, coffee, die, help, info, maul, status
@lyxal I am doing a fire safety drill
!!/amiadmin
@user You are not a bot admin.
multiple requests at once doesn't work
!!/amiadmin
!!/maul yourself
02:19
@lyxal You are a bot admin.
                                                               YOU CAN RUN, BUT YOU CAN'T HIDE, YOURSELF
                                                     ___._
                                                   .'  <0>'-.._
                                                  /  /.--.____")
                                                 |   \   __.-'~
                                                 |  :  -'/
                                                /:.  :.-'
__________                                     | : '. |
@VyxalBot I'm sorry what
If he's an admin, why can't he do !!/die
Stupid bot
!!/coffee
Sorry user, I'm afraid can't do that.
!!/die
@lyxal You do not have permission to run that command. If you think you should be able to, ping Ginger.
02:20
> am admin
It seems the bot has broekn free of its shackles
> can't !!/die
Ginger is not responding
I'm afraid the bot must have subdued them
We must take down VyxalBot2 before it destroys humanity
Who's with me?
@hyper-neutrino any mod actions you can take?
I wonder if we can manually send messages to the bot's server pretending that we're the bot
Or something
Actually, no, Ginger's probably secured it against that sorot of thing
02:25
Big brain idea that probably isn't possible: get a mod to change the email/password for the bot acount
Yeah let's not do that
!!/status borin
Sorry lyxal, I'm afraid can't do that.
!!/status boring
Bot status: Online
Uptime: 4:33:56.083763
Running since: 2023-02-14T21:54:21.765162
Errors since startup: 14
02:28
@lyxal wait what do you need?
the bot to not be in this room
The bot to be DEAD
or to be able to not post things
11 mins ago, by Vyxal Bot
@Ginger An error occured while processing event f452cf80-acd6-11ed-9bb5-750931e11fcf!
that's why
Wait hyper could temporarily change Ginger's name so that the bot can no longer ping them
Le Ginger
it still posts messages on every commit though
02:29
I think this is a very good and ethical idea that
Is that Vue or the generated JS from scala?
Vue
Monaco is apparently big
Can we make it opt-in or something?
Surely monaco wouldn't make it that big though
That's literally two megabytes
Well apparently it is monaco
CM6 is starting to convince me :F
02:32
alright I suspended the bot for 416 days
just ping me when y'all want it unsuspended :P
you couldn't make it 420?
Monaco is pushed to the repo, but I'm thinking we should switch to CM6 ...
This is just unacceptable
Isn't codemirror really hard to work with though?
@Steffan I'll leave the editor choice up to you. I'm fine with either, so choose the one that works best for you
I sure do love closing all the tabs
good fun :p
@user so now that * doesn't have to play nice with peek mode, can the branch logic be simplified in executeFn?
because what's in the else branch works regardless of whether there's * or not
also, I just realised that having any amount of parameters isn't going to be good in peek mode
because something like lambda x, y, z -> ... end is just going to set $x, $y and $z to the same thing
and lambda 2, 3, 4 -> ... end is going to repeat things too
hey I just realised - if : was an alias for | in literate mode, you could have something like lambda n: n + 4 be a polyglot with python :p
02:54
CM5 was hard to work with but CM6 is much better and realy nice. I'm going to switch
in The Nineteenth Byte, 11 secs ago, by lyxal
Rate my lambda syntax: lambda n: n * 0
cheeky prank :p
Now the bundle size is only 530 kB
The theme rn is One Dark, idk what else y'all want npmjs.com/search?q=codemirror%20theme
very cheeky prank
Making the : an alias of | is one of my best ideas yet :p
(this is actually a thing btw: it's on the lambda branch :p)
03:16
nice
extremely cheeky prank
@lyxal It doesn't work if popArgs is false, actually
@lyxal Which is why I made the other branch above the else one
Oh
@Steffan idk about everyone else but I really like One Dark personally
Can I get an f in the chat for Atom
@lyxal Holy heck we can actually do lambda n: n as an identity function now
This is genius
@Steffan Maybe Dracula?
@user very cheeky prank
You can troll all your friends now :p
"hey look at this python ha just kidding it's vyxal 3 literate mode"
03:27
@lyxal Done.
I trolled them all and when I revealed to them it was actually Vyxal and showed them literate mode they decided to join Vyxal
Oh no, they found Jelly, turned into unicorns, and exploded
@user You're a bit of a prankster I see :p
Anyway, my Pomodoro timer is done, o/
o/
@user yeah it really nice
Ah the website looks a bit narrow on mobile
03:42
I haven't worked on it for mobile yet
The sidebar will be at the top as well
LOL WHY IS THE RUN BUTTON GRAY
it's supposed to be white lol
@Steffan dark mode extension
Lol it ruins it
Maybe i need !important lol
But shouldn't the dark mode extension know not to mess with it since it's color-scheme: dark?
/shrug
This is dark reader for Firefox btw
That's without the extension
Nice buttons that don't do anything (yet)
Fancy
It's already looking nicer than anything I could have come up with
It'll be even better once it's done :p
03:54
is it just me or are those buttons slightly too far left
The screenshot is just off
It's correct in the actual thing
I'm terrible at taking screenshots lol
no I mean I am looking based on the lighter grey track
or did you cut off part of the left
I cut off part of the left lol
I can't select
oh okay lmao
04:19
The buttons are working (and live)!
The links themselves don't work yet tho
05:00
Could you add some padding below the flags?
05:15
Oh wait, Monaco doesn't support mobile? We should definitely use CM6 then
Why were we even considering Monaco if it didn't support mobile?
Where'd you read that?
05:45
> The Monaco editor is not supported in mobile browsers or mobile web frameworks
Interesting
Their playground seems to work on mobile (albeit with lag)
Some interesting points on why they use CM6 over Monaco
06:01
How big is CM6?
3811kb
So ~3.9mb
For reference, Monaco is 69mb
That's uncompressed raw github repo size
06:27
@lyxal Never mind, we definitely need to use Monaco then
06:55
Okay so I've been doing some thinking, and I think the current if statement should actually be called a ternary statement
And it's literate mode syntax should be ? code : code end
Or whatever branch alias you want to use
👍
That's because while I was doing my cheeky pranks, I realised that the if keyword doesn't really flow like a normal if statement
And extending the ternary statement to be if elif else with multiple branches doesn't feel consistent
Hence, [...|...} is ternary and #:{...|...} is an if statement
(#:{ is subject to change, but it can't be #:[ because that's variable unpacking)
(and it can't be #[ either because that's lists)
An odd number of branches in the new if statement represents cond1, body1, cond2, body2... elseBody
An even number of branches in the new if statement represents cond1, body1, cond2, body2... condN, bodyN
I'll handle implementing this because I've also been doing some thinking about that (something like a while loop will be used to iterate over branches, stopping on first truthy condition or end of branches)
But I would like some feedback on whether the rename should also apply to v2 or whether that just gets left as-is
And of course, syntax feedback is good too
Also, I figured out why the bot is suspended for 416 days (which seems arbitrary at first) - that's 9999 hours, the longest suspension period available (I think)
07:51
@lyxal pip does something like that too :p
08:04
I've been doing a bit more thinking about other things and I think there should be a VNil type
This nil type has the special property that it can never be pushed to the stack
If you try to ctx.push a VNil, it just silently ignores it
"What's the use of that" I hear you ask
Well it could make lambdas that operate on the stack work a little nicer for everything without having to special case such lambdas
So if you try to map a stack function over a list, it just returns whatever is on the top of the stack under where the Nil would be
It doesn't have to be accounted for in types, and only the push method of Context would ever need to know about the type explicitly
Although saying that, things returning VNil would need to know about it
Meaning it probably would have to be placed under VAny
Which leads to a whole bunch of yucky "uh this match statement isn't exhaustive 🤓" warnings
Still, it's a more elegant solution than special casing stack lambdas everywhere
@user during thinking about a new type, I also thought about how you suggested removing the VAtom and VVal types and I think keeping the VAtom type is a good idea
Because it's nice to have a type for "scalar" values
(I know functions aren't exactly "scalar", but they aren't lists, which is where checks for scalar would be used)
Maybe it could be renamed to VScalar?
(for reference, v2 has a "scalar" type that's used for checks where a list and a non-list are needed)
What do y'all think about that bout of thinking?
Oh yeah, also while I was thinking about the VNil, I was thinking that implementing peek parameters for lambdas is just popping all relevant arguments and then pushing them back to the stack
That should be equivalent in theory
tl;dr: Ternary and if statements as different things, Stack lambdas should return something that gets immediately popped, VAtom should be kept and peek is just pop but push everything popped when done
 
4 hours later…
11:59
!!/status boring
and it crashed
cool
well duh
of course it crashed
@Ginger do you know why it crashed?
I'm working on it
12:15
I don't think any amount of work will fix it
I'm sorry what
Did you not read the transcript? :p
what is going on here
explain yourself
the bot pinged you every time we made a commit
and we couldn't turn it off
so we had hyper suspend the bot
well, that feels like overkill
12:16
10 hours ago, by Vyxal Bot
@Ginger An error occured while processing event f452cf80-acd6-11ed-9bb5-750931e11fcf!
you would have had 17 messages in your inbox
that was intentional lol
and !!/die wasn't working
those messages are so I can review my logs and figure out what went wrong
10 hours ago, by user
We should really temporarily ban the bot or something so it stops bothering Ginger
I can just mark all as read :p
it wasn't bothering me
12:18
11 hours ago, by user
Could you please just shut up every time someone commits
right, I'll fix this in a little while
it was bothering us :p
sorry!
ping hyper to unsuspend the bot when you're ready
> Errors since startup: 26
:/
12:18
10 hours ago, by Vyxal Bot
Bot status: Online
Uptime: 4:33:56.083763
Running since: 2023-02-14T21:54:21.765162
Errors since startup: 14
that was the last full status check it got
oh hey maybe caird can help out
13:02
@lyxal wait why do we need an if-statement now?
because you can extend it to elif
And the ternary statement just has two branches?
correct
it's like expr ? true : false in JS
nvm that's pretty dumb lol
you mean expr ? true without a false?
13:05
yeah
[...}
no branches
that's like default behaviour lol :p
if an else-branch isn't provided, it's assumed to be empty
well not assume, is
@lyxal ik, just realised :face-palm:
This'll be in a different branch to the lambdas btw
because I have a few other non-lambda structures I'd like to implement along side a new if-statement
Feb 20, 2022 at 7:13, by lyxal
Ṣ<relation>|<initial terms>;
Feb 20, 2022 at 7:15, by lyxal
it would be a structure type instead of a lambda because n and m would refer to the last term and second last term respectively
Feb 20, 2022 at 7:19, by lyxal
Ḍ<predicate>|<container>;
Feb 20, 2022 at 7:19, by lyxal
Which is, does there exist an item in container such that predicate returns true
13:23
alright, let's see here
@lyxal do you have an email address? I've got an idea for keeping this from happening again
@lyxal interesting
basically, you can make a request to a specific URL on Vyxal Bot's server, which tells a monitoring process to forcibly restart the bot
but to make sure it's actually you I'm going to send you a key
cool, one second...
@lyxal actually, do you have a public key I could use to encrypt this and send it over chat? I've got some doubts about this anonymous email sending service q:
I do not
and it is way too late to be setting one up
13:26
fricknuttery
@lyxal do you have access to a computer with openssl on it?
if so I can give you step-by-step instructions to do this
4 mins ago, by lyxal
and it is way too late to be setting one up
:|
ah well
I'm going for the night now anyway
we can do this later ig
o/
o/
13:32
:/
oooooh
I think I found the issue
13:51
yeah I found it
What was it?

« first day (1034 days earlier)      last day (741 days later) »