« first day (1038 days earlier)      last day (737 days later) » 

00:50
We've got a problem - when I try to run ṆW/+3|001W, it just spins with no output, because it seems to try to output the whole list at once instead of sequentially printing.
yesterday, by lyxal
huh so remember how I thought mkString would be cool on infinite lists in Scala. Turns out infinite lists don't print too well using that
yesterday, by lyxal
Gonna have to roll a custom print function for VList
 
2 hours later…
02:43
!!/amilyxal
@lyxal You are lyxal.
Oh thank goodness
That was horrible not being me yesterday
Glad to be me again
!!/help
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: amilyxal, blame, coffee, cookie, die, goodbye, groups, hello, help, hug, info, issue-open, maul, permissions, ping, prod, register, repo-list, run, status, sus
!!/groups
Sorry lyxal, I'm afraid I can't do that.
02:47
!!/help groups
@lyxal !!/groups <list|members> [group]: List all groups or members of a certain group.
!!/groups list
@lyxal All groups: admin, member, discussion
!!/groups members discussion
@lyxal Members of group discussion: Ginger, hyper-neutrino, Niko, Jacob, The Thonnu, Steffan, mathcat
02:47
!!/permissions list me
@Steffan User Steffan is a member of groups discussion, member, admin.
!!/help ping
@lyxal !!/ping <group> [message]: Ping all members of the group. USE WITH CAUTION!
!!/permissions grant me member
@Steffan User Steffan is already a member of group member.
02:48
!!/ping cookie
!!/ping test
!!/status
@Steffan I am doing things like making sure you don't do anything too suspicious or else I'll report you
cookie
sus
huh
!!/ping cookie
02:49
cookie
Interesting easter egg
!!/ping discussion In literate mode, lambda arguments without a sigil are converted to their normal form equivalent if it exists. E.g lambda add -> $add end will turn into <lambda symbol>+|#$add. Should that be a feature (meaning sigils are required for names that are also keywords) or something that should be fixed?
@Ginger @hyper-neutrino @Niko @Jacob @The Thonnu @Steffan @mathcat ^
!!/ping nobody
Oh it's just that nobody is in that group, so it's pinging everybody then saying ^
It should probably error
02:52
(also I need to make map lambdas retain defined variables between branches in v3)
!!/issue open Make map lambdas retain variables between branches Something like map-lam :=x 4 add then $x n + end doesn't lose track of variable x. This means that the original value being mapped can be retained if needed
vyxal-bot[bot] opened issue #1636 (Make map lambdas retain variables between branches) in Vyxal/Vyxal
03:23
@steffan does the new website get the latest js version from the main repo?
03:44
it grabs it from gh pages
aha, good good
just wanted to know how it gets the data
 
7 hours later…
10:17
@lyxal well I don't think it's particularly useful if + isn't a valid name.
Remind me again: How do I convert literate mode to SBCS?
If you go to vyxal.github.io/Vyxal, you can click the button that looks like a html tag
@mathcat the question is more "should lambda arguments be blindly translated from words or should there be some sort of parsing"
Because words are turned into sbcs characters if there exists a mapping
If choosing the first option, that means if you wanted to have add or any word defined as a keyword, you would need to include some sort of sigil at the front
So you'd have lambda $arg-that-is-also-keyword -> stuff end
And the $ at the front would be dropped in parsing
Because it would be enough to stop the argument being seen as a word
Hence it wouldn't be translated
That's a valid solution, but it may not be the most aesthetic/consistent/stylistic solution
I would've said it depends on how hard the parsing is, but I like the bash-style keyword escaping.
Lexing lambda arguments differently is also a valid solution, but it may not be the most fun-to-implement solution
Hence the dilemma
On one hand, I kinda like the sigil but on the other hand, it'd be nice to be able to have any argument name be consistently respected
Because you wouldn't need a sigil for names that aren't also keywords
10:29
Checking if a mapping exists might lead to some more inconsistencies/bugs though.
But yeah, I don't see how a sigil would affect anything other than the byte count.
Oh it doesn't impact the byte count at all
The sigil can be removed for normal form
oh, good.
This is purely a stylistic thing for literate mode
I'm more inclined towards sigil, then.
Optional or mandatory?
Because right now it's optional unless you need a keyword name
10:38
optional, I do think mandatory sigils would make lambdas slightly more bulky.
I was thinking \​, but for keywords.
 
2 hours later…
12:51
okay so turns out making map lambdas pass variables between branches isn't as easy as I thought
@AndrovT is this a valid answer to your polynomial challenge?
or does it strictly have to be a list of increasing approximations
lmao sympy flex
13:21
@lyxal it looks like it is. I checked up to 100 digits and it worked
Sympy 😎
But the input / output format is correct?
Yeah
Good :p
Should I be more precise with what output I want?
No, the test cases make that clear
I just wanted verification that my answer was valid because I won't be around for the next 8 or so hours to fix it lol
o/
13:30
\o
 
4 hours later…
 
3 hours later…
19:43
@lyxal Ah, that's what I forgot to do. I had originally tried the button with 2 2+ and it output 2 2+ so I thought the button just outputted whatever code you had :P
Maybe we should offer new visitors to the online interpreter cookies
:+1:
It gives you a cookie when you run a program that contains a cookie
I'll just add a cookie button in the bottom left that when you click it, it opens up a mini cookieclicker game
yesss
Actually, it should add a new tab to the tabs
So you can click cookies when you need a break from coding
Better yet, have the tab already open
and it's the only tab that's not closable
19:47
nah, when you run the cookie program it should trigger the minigame
Better yet, the interpreter starts out as just the cookie clicker game, and to the side you have options to add the Code and Output tabs if you want to take a break from gaming
LMAO
@Ginger ooh that'd be a cool easter egg
Check it out guys after it builds
@mathcat exactly
19:57
We could open a new "cookie" tab which runs cookie clicker.
Ooh
The cookie is a little too big for my screen but this is awesome
Oh you can resize the tabs, nice
COOKIES
@Steffan Minor bug: The cookie gets highlighted when I click on it, maybe user-select: none is needed?
^
100 YES
150
20:00
... I'm addicted plz do not remove this window
!!/you good?
@Ginger I am doing things like inventing a new type of instrument that creates music by moving through the air
cool
!!/status
@user I am doing code golf
20:02
!!/run 2 2+
@user This command is disabled.
@user wow
Totally didn't use setInterval
ysthakur created branch cookie-no-select in Vyxal/vyxal.github.io
ysthakur opened pull request #2 (Don't allow selecting cookie in cookie clicker) in Vyxal/vyxal.github.io
ysthakur requested Steffan153's review on #2 (Don't allow selecting cookie in cookie clicker)
@Ginge I don't think it's necessary to add messages about review requests ^
20:12
Steffan153 merged pull request #2 (Don't allow selecting cookie in cookie clicker) in Vyxal/vyxal.github.io
Steffan153 deleted branch cookie-no-select in Vyxal/vyxal.github.io
Once I add the option to add back tabs you've closed, it'll probably be closed by default but you can add it from there
user image
2
Is that an image? It looks very detailed for an emoji
it's an emoji
I totally clicked that cookie 69420 times
It starts to get blurry if I scale it up enough it looks like
I guess Apple just has detailed emojis
20:37
The current logo is really bad. I made a better one :P
 
2 hours later…
22:28
!!/ping members bot is shutting down for a bit while I transfer it to the new server
@Ginger @Seggan @lyxal @hyper-neutrino @user @emanresu A @PyGamer0 @Niko @Jacob @The Thonnu @Steffan @mathcat ^
Ah'll be bahk.
Uh oh who's gonna answer my amilyxal queries now?
22:56
@lyxal I can take over temporarily
are you lyxal?
Yes
huh
I guess so then
I stole your identity yesterday
am i Lyxal?
22:58
No
As I said, I stole your identity
!!/hug
Now I can use all the money you saved up from doing tax fraud
@emanresuA You don't have adequate permissions to execute that command
!!/maul user
(Gimme a sec, I'm looking through the bot repo trying to find the proper responses)
@emanresuA ༼ つ ◕o◕ ༽つ
:63023446                                                                    YOU CAN RUN, BUT YOU CAN'T HIDE, USER
                                                         ___._
                                                       .'  <0>'-.._
                                                      /  /.--.____")
                                                     |   \   __.-'~
                                                     |  :  -'/
                                                    /:.  :.-'
!!/status
23:02
@lyxal I am doing VyxalBot's work.
!!/status boring
Number of errors: 0. That's because I'm AMAZING and WAY better than Vyxal Bot 2. It is IMPOSSIBLE for me to be boring
Also idk what the format is and I don't feel like going through the code to find out
!!/make me a cookie
@lyxal No.
!!/sudo make me a cookie
23:04
!!/issue open in VyxalBot2 Bot made moldy cookies I think this is a failure, and needs to remedied in the next patch
ysthakur preemptively closed issue #1657 (Bot made moldy cookies) in Vyxal/Vyxal
Wrong repo
stupid bot
23:07
ysthakur preemptively closed issue #14 (Bot made issue in wrong repo) in Vyxal/VyxalBot2: Bot absolutely did not make the issue in wrong repo
@user this suggests that the issue wouldn't be opened for months
meaning not only is it the wrong repo, it's also really slow
very stupid bot
It suggests that the bot can time travel
Because I am superior to you mortals
!!/issue open in Lyxal Lyxal is malfunctioning Lyxal appears to be having hallucinations
@user you may be superior, but horribly inefficient
I want the issue opened now, not months from now
we're only up to #1636, not #1657
ysthakur preemptively closed issue #1 (Lyxal is malfunctioning) in Vyxal/Lyxal: [wont-fix] [bugn't]
@lyxal I experience all time at once. To me, months from now is indistinguishable from today. So you can go suck it
23:11
!!/die
Believe me, I've tried :P
@user !!/issue open in vyxalbot2 Bot overwrote an existing issue #14 already exists idiot
ಠ_ಠ
@lyxal Didn't notice that lol
@lyxal lgtm, but I find the restriction of having all statuses start with "I am doing" far too restrictive. Why not start with "I am" instead, or even better, don't have a prefix at all, let the entire message be in statuses.txt?
@user blame hyper :p
!!/blame
@user It was hyper's fault!
@Ginger fixed
@lyxal done and merged
@Ginger Could you please merge #1?
main still has only a .gitignore
23:19
@user done :b
21 hours ago, by lyxal
!!/ping discussion In literate mode, lambda arguments without a sigil are converted to their normal form equivalent if it exists. E.g lambda add -> $add end will turn into <lambda symbol>+|#$add. Should that be a feature (meaning sigils are required for names that are also keywords) or something that should be fixed?
Feedback on that would be appreciated
Deterministic feedback more so :p
I think we should force people to do lambda $add -> .... It's just way to hard to do literate lexing properly otherwise
Mandatory for all variables or optional?
Mandatory
If it's optional, we'll still have to deal with the cases where they don't use a sigil
But in those cases, it could be plausibly considering a skill issue by the programmer that isn't using the sigil
And if it's mandatory, what happens if a non-sigil name is used?
It can't error because non sigil names are fine in normal form
And everything is turned into normal form anyway
23:30
But we can't silently turn add into + because then the user will be like "what happened, why isn't add defined?"
So we either have to rewrite the literate lexer to take that into account or error when a lambda parameter name in literate mode doesn't have a sigil
Given that literate mode is more praclang-y anyway, I think it's fine to error
The funny thing though is that by doing one, you can just as easily do the other
If you can enforce sigils in the litlexer, you can also make it so that words aren't translated into normal form
Hmm yeah
Because they both involve figuring out where the lambda starts and where the first branch is
meaning both options are as painful to implement
Perhaps when we come upon an identifier like add or foo, we put it in a special token LiterateIdentifier or something, and then the parser figures that out
But then we wouldn't be able to do litLex because you can't just stringify
The stringified version would have to come from the parser
But that doesn't seem too bad
litLex would just return a list of tokens instead of a string to be passed to the lexer oh right the lexer requires a string doesn't it
23:35
Well I'm thinking LiterateLexer's output would be fed into the parser directly instead of the normal lexer first
So LiterateLexer would need to be modified a bit
@lyxal There really is no good way to do this :(
Well there is if we move away from just blindly translating to normal form
But that requires two parsers
Unless we do a little lexer post-processing
Given a lambda token, collect up until the first matching end keyword or first non-nested branch
If a branch is reached before a matching end keyword, all the things prior to the branch are kept as-is. Otherwise, everything collected is converted as normal
@lyxal Well no, we can just have special tokens for literate stuff and the same parser would handle them
@lyxal I suppose we could do that
It'd either return a Group or an AlreadyCode
This post processing would happen before sbcsification
It'd only apply to normal lambdas too
Because the other types don't have arguments
So I think the non-sigil approach is viable
And I'll look into later today once I've finished doing some uni work
Because that's a thing I now have

« first day (1038 days earlier)      last day (737 days later) »