« first day (467 days earlier)      last day (1002 days later) » 

2:15 AM
@AaronMiller division by 0 doesn't error though
It just returns 0
!!/run 0 0/
!!/u good
Uh oh
!!/lol u good my epic gamer
@hyper-neutrino
!!/status
@VyxalBot u good bro?
I take it that it isn't
 
what's with my bot and dying so much
!!/run kH
 
@hyper-neutrino Hello, World!
 
!!/u good
 
@lyxal I am doing well.
 
!!/run 0 0/
 
2:17 AM
@lyxal 0
 
Intentional behaviour
 
@lyxal But integer division by zero does.
!!/run 0 0ḭ
 
[@AaronMiller: 58730975]
0

STDERR:
integer division or modulo by zero
Most recently popped arguments: [0, 0]
Final stack: []
 
@lyxal you should fix the backticks on the community ad before they get locked
 
@AaronMiller I don't think I special cased that
 
2:25 AM
Makes sense
 
!!/flowey quote
!!/flowey quote
 
@Ausername Don't you have anything better to do?
 
No
!!/flowey quote
 
2:33 AM
@Ausername Is this a joke? Are you braindead? RUN INTO THE BULLETS!!!
 
Lmao get rekt
 
Oh noes!
 
I had high hopes for this prompt, but it died at the end: gist.github.com/AMiller42/1c85a207780dc2b3faea3f9c89ceb1b0
 
@lyxal Did you write all of that? Because you should totally put it on Wikipedia.
 
2:42 AM
@Ausername It was GPT-3
 
The first player to have at least five zeroes or five Xs in a row wins.
five
 
3:30 AM
!!/run lyxal
 
@Ausername Did you forget to put backticks around your code (`code`)? Remember to escape any backticks in your code (to type `hi`, enter `\`hi\``).
 
!!/run lyxal
 
!!/switchroom
!!/switch room
!!/repo list
 
y'know, even though I think it's absolutely hilarous moving bot messages over to TNB, I ask that you respect the request made by caird
the last thing we need is stigma against us because we were too stupid
 
I agree. I'd rather not get shut down by @hyper-neutrino to stop abuse *shudders*
 
we already cop enough criticism based on the language itself
we don't need more
 
 
1 hour later…
5:35 AM
@AaronMiller done
 
5:49 AM
Can we just close all 2.5+-related issues?
 
i dunno
they seem fine to me ;)
 
;)
Idea: Nilads can be overriden with , for example 5→⁰ ⁰ returns 5?
 
that sounds like something more suited for v3
 
Yes
Also should we group all the (on hold) feature requests into the big one?
 
6:03 AM
sure
 
Missed one
 
Lyxal pushed a commit to Vyxal/fb-lexer: Finished the lexer
 
Nice job
Fizzbuzz can finally be parsed.
 
PR #202 (Vyxal/Vyxal) opened by Lyxal from Vyxal:fb-lexer into Vyxal:fresh-beginnings: Create the lexer
 
6:11 AM
I need at least 2 reviews on that
!!/ping everyone
 
@AaronMiller @Ausername @PyGamer0 @hyper-neutrino @lyxal @math @pxeger @user ^
 
tell me if you want to review the PR and I'll assign you to review it
 
made a lot tidier
Sorted stuff
 
nice
@Ausername *lexed
lexer != parser
@hyper-neutrino i done finished the lexer
 
6:31 AM
shouldn't occur, make sure that just happens for backticks.
And you missed a lot of function-related stuff
And digraphs
ø`string` & co matter
 
@Ausername that sounds more like the job of the parser
 
7:12 AM
@lyxal is there a review counter or smth?
btw 999.3 million views
nvm
I can't review it now
 
 
1 hour later…
8:38 AM
@lyxal gpt-3's so clever...
what? how?
that's amazing
NO The bot's too clever:
No chance
How does it know?
Has Lyxal told the bot?
 
@math whoa try Q: What is 51AC8?
it is gonna fail
 
wait a sec
@PyGamer0 It knows
It first said it's a programming language
 
@math show the resutl
 
then I reloaded the tab and then it said 51AC8 is the hexadecimal representation of the ASCII character "8".
sorry
now it's even saying something else to Vyxal
 
8:59 AM
GPT-3 thinks that I'm the last of an extinct intergalactic species
@math @PyGamer0 have you read those?
 
no
not yet
@lyxal Is there a completion preset?
in the beta
nvm
it's the no preset
Wow
guess where the Ai started
btw khanacademy is a good recommendation from gpt-3
The AI formatted it in markdown as well
because I started
temprature was too high
 
9:22 AM
@lyxal At least group digraphs :p
 
@Ausername I haven't been able to yet
 
Why not? Just dequeue another element when you encounter them...
 
No I mean I physically haven't been able to yet
I'm not at my computer
I'm on mobile
And I won't be able to for another two hours
 
@lyxal enjoy your time on mobile
@Ausername uh where
 
9:28 AM
It is painful
Also This site's meta has activity comparable to Windows Phone :p
 
 
2 hours later…
11:19 AM
!!/'night
 
@Ausername o/
 
12:13 PM
Lyxal pushed a commit to Vyxal/fb-lexer: Made the digraphs do good
 
@Ausername the digraphs are good now
 
Lyxal pushed a commit to Vyxal/master: Update issue templates
 
because I wrote it 2 months ago kekw
and I never actually uploaded
 
12:34 PM
Lyxal pushed a commit to Vyxal/fb-lexer: added some extra type annotation stuff
 
Yay
 
12:46 PM
Lyxal pushed a commit to Vyxal/fresh-beginnings: Update README.md
 
Should we also have if name==main stuff in modules like the lexer and stuff? I requested a change on Vyxal's PR, but idk what our guidelines are/will be for that
 
So how would we test the files?
In the testing workflow?
 
Yeah
A lexer_tests.py or something, maybe
 
Lyxal pushed a commit to Vyxal/fb-lexer: Because we don't do if name is main in files no more
 
Noice
 
12:51 PM
brb gonna go edit that into the guide code
 
Lyxal pushed a commit to Vyxal/fresh-beginnings: Update code guide.md
 
> This branch is 69 commits ahead, 3 commits behind master.
nice
erm @user how do I make vyxal an importable library?
because I want to create a testing file
like you did
but it keeps saying "no module called vyxal"
like bruh i've got my __init__.py
oh nbm
just needed THIS_FOLDER = os.path.dirname(os.path.abspath(__file__)) + "/.."
sys.path.insert(1, THIS_FOLDER)
 
1:08 PM
Yeah, that's very annoying :(
As long as you import test_utils or whatever it's called before importing vyxal stuff, you shouldn't need the this_folder stuff afaik
Btw are you using Python 3.7, 3.8, or 3.9? (and if it's not 3.9, does PythonAnywhere let you change to 3.9?)
 
I think it's 3.8 at the max
yeah
3.8 at the amx
*max
 
Oh
 
CMQ: py 3.7 or 3.8?
 
I could've sworn I saw 3.9 when I was trying to do stuff there, lemme check again
 
!!/hyperping
 
1:10 PM
@AaronMiller @Ausername @PyGamer0 @hyper-neutrino @lyxal @math @pxeger @user ^
 
@lyxal 3.8, hands down
 
@user I literally just checked
 
@lyxal this does not need a hyperping; noone in their right mind would say 3.7
 
Eh, I'm probably hallucinating again
idk if it's because Vyxal is old or what, but I can see 3.9 myself
 
where is this 3.9 you speak of
 
1:14 PM
idk, but I see it right there
 
@lyxal I use 3.7 all the time
 
but 3.8 is better for Vyxal I think
 
> You will not be able to switch to a system image that is older than the one it had when you originally signed up.
You'd have to make a new account or smth to use 3.9 :/
 
oh
 
1:16 PM
@math because pyinstaller is not supported yet on 3.8
@pxeger eh me
no
@lyxal what's with the account name vyxal?
 
3.9 introduces better static typing syntax i think, so like instead of importing List you just do list[str]
 
@math we kinda have to keep the current account
because otherwise, you're looking at 600+ answers with dead links
 
oh
what's with redirecting (if we chose 3.9)?
 
mass-edit them all /s (disclaimer: no)
 
@lyxal Well, you could redirect to lyxal2.pythonanywhere.com or something, but it'd be annoying
 
1:21 PM
ninja'd
heh
 
@hyper-neutrino Also pattern matching, which is amazing
 
alternatively
 
@math Oops, didn't see that
 
just have lyxal run old vyxal
and a new account for the remake
 
That's actually a good idea
Is vyxal3.pythonanywhere.com taken?
The username vyxal3, I mean
 
1:23 PM
vyxal is not taken, is it?
 
Just have the username vyxal
I just for ir
*got it
 
yay
 
🎉
 
1:25 PM
Time to redirect the webhooks and stuff, then?
 
no
not yet
we'll actually add content to vyxal.pythonanywhere when we are ready
I only signed up tonight to get the username
 
Sounds good
@math You're Tams-Tams on GH, right? What did you mean by "who are you, actually?"?
 
@user your Se username
thanks, got it
 
Oh
I thought when you said "actually," you meant irl
 
@lyxal enum or no enum? btw how do you approve changes thingy?
 
1:29 PM
@math no enum
that's overkill
 
@math Hit "View changes", then hit the green review button in the top right corner
 
Lyxal pushed a commit to Vyxal/fb-lexer: added test cases
 
because we do that
we have test cases in their own files
 
Thanks
The testcase functions should be named test_foo so that pytest can run them, though
I don't know if it runs the entire file
 
L#175 exceeds the PEP8 maximum line length (it has 80 characters)
should i just fix that and push it, or should we use a line length of 80
 
1:32 PM
L#175?
 
test file?
 
In which file?
 
oh
lexer.py
didn't realize there was more than 1 file lol
 
old file version probably
 
1:34 PM
@hyper-neutrino Finally, we're using an 80 character limit per line, with comments limited to 72 characters per line. If you're a VS Code user, you can paste "editor.rulers": [72,80] into your settings.json to have a visual indicator of the line limits.
someone didn't read the style guide ;)
 
oh
i just assumed pep8's 79 lol
 
Lyxal pushed a commit to Vyxal/fb-lexer: Update test_lexer.py
 
i will look up how to do that for atom
 
me when I have my 2 required yes reviews
merge time
 
i cannot seem to figure out how kekw
 
1:36 PM
PR #202 (Vyxal/Vyxal) was merged by Lyxal from Vyxal:fb-lexer into Vyxal:fresh-beginnings: Create the lexer
Lyxal pushed a commit to Vyxal/fresh-beginnings: Create the lexer (#202)
 
@lyxal why limit comments to less than code?
 
^
also how did you handle multibyte names for functions/variables
 
@pxeger I read somewhere that it's recommended style to limit comments to 72
@hyper-neutrino upon reaching a name starting character, keeping dequeuing until a non alpha char is reached
 
i suspect i can easily find a bug with this
does (ab) work
 
I assumed we were leaving that for the parser
 
1:39 PM
oh so we will make the parser unpack these back into individual elements?
 
> Following the tokens °, @, →, and ←, Latin letters and underscores should be grouped into one token of type TokenType.NAME, whose value should be the name itself.
@hyper-neutrino only for for loops
I just followed the specs
 
oh
i should have mentioned that that was far from complete after our discussion on multibyte names
 
hyper-neutrino pushed a commit to Vyxal/fresh-beginnings: fix typo and line lengths for lexer specs
 
@hyper-neutrino lol
I tjink i'm too tired to do naything reasonalbe now.
discusions will have to wait intil tomororw
frick
can't even spel
*spell
!!/'night
 
@lyxal o/
 
1:46 PM
o/
!!/flowey quote
 
@user And you know what the best part is? This is all YOUR fault!
 
the problem with for loops is
if you assume there's a | and group alnums then (k`hi) will break
and if you don't, then (ak|hello) will break
 
Why does the second break?
 
because k|
the solution is to scan forward until you exhaust identifier chars, then skip whitespace, and if you encounter a | next, keep the group; otherwise, backtrack and parse normally
 
Ah
 
1:56 PM
this means you can no longer do things like (abc×xyz|hello) though, which we discussed would be equivalent to (abcxyz|hello)
@lyxal ^ how much do you care about keeping this behavior
there is a lot of ambiguity and weird unexpected behavior that will come up if we keep it
for example, should (abc`xyz|k`hi) be ( abc`xyz | k` h i ) or ( abc `xyz|k` h i )
Tell Lyxal I'm back ;) — null yesterday
who dis
 
2:19 PM
there is one minor problem with my approach
(ak`aa|hi`bye)
we scan alnums and get ak
then skip whitespace, and then next character is ` which is not |
therefore we backtrack
now we get a k` a a
and then we still get the | token
in this case, what do we do if the statement divider has a non-name on its left?
 
hyper-neutrino pushed a commit to Vyxal/hyper/parser-fix: implement contextual name grouping in for for loop variable names
PR #203 (Vyxal/Vyxal) opened by hyper-neutrino from Vyxal:hyper/parser-fix into Vyxal:fresh-beginnings: implement contextual name grouping in for for loop variable names
 
> in for for loop
 
(grouping in) for ((for loop) variable names)?
 
(contextual name grouping) in for ((for loop) variable names)?
 
2:41 PM
typo
fixed although the bot doesn't observe PR edits i think
 
Fun fact: VyLight gives up after exactly 10001 characters. The 10002nd character and beyond has no syntax highlighting.
 
...Why do you know this?
 
Umm... Reasons?
 
thonk
 
I find it best not to question my infinite repository of useless information.
 
2:47 PM
with the lexer we should probably rewrite vylight to work with it a) because of convenience and b) to ensure accuracy, so if the lexer changes vylight reflects that properly
 
3:00 PM
VyLight prioritizes the compressed string/number delimiters over the constant diagraphs when hylighting: Try it Online! Compare the first two with the other diagraphs and the other string delimiters.
 
3:13 PM
Hey, since when do nonexistent constants break parsing?
!!/run k‟
 
@AaronMiller (output was empty)
 
Hmm... Should Vylight issues go under the Vylight repo, or under the Vyxal repo with the Vylight issue tag?
 
if it's specific to vylight, the former
if it's a broader parsing error / inconsistency that needs to be fixed in vyxal and then addressed in vylight, probably the latter
imo
 
!!/issue Vylight Diagraph highlighting ignores newlines If you have a diagraph character followed by a newline, the first character on the next line gets highlighted as part of the diagraph. Try it Online! bug
 
Vyxal-Bot opened issue #1 in Vyxal/Vylight: Diagraph highlighting ignores newlines
 
3:32 PM
!!/issue Vylight Constants and compression make highlighting no Unlike any other diagraph characters or structure delimiters, a `k` followed by a `«` or `»` character keeps the normal highlighting of the delimiter instead of giving it the highlighting of the constant diagraph. Try it Online! bug
 
Vyxal-Bot opened issue #2 in Vyxal/Vylight: Constants and compression make highlighting no
 
Why are constant diagraphs different from other diagraphs?
 
3:53 PM
k is under var_chars
we just need to add it to the digraphs constant probably
 
!!/status
 
@hyper-neutrino I am doing great.
 
debatable
you didn't report my commit
github.com/Vyxal/Vyxal/commit/… - make the tokenizer skip comments
 
4:49 PM
@VyxalBot "Diagraph"?
 
@user Two-character commands: k ∆ ø Þ ¨
 
No, just the first a
 
Ah, a fellow Java enjoyer, I see :P
 
5:27 PM
does vyxal have a replicate / repeat in-place built-in?
for example, [1, 2, 3] $ 3 gives [1, 1, 1, 2, 2, 2, 3, 3, 3]
rather than [1, 2, 3, 1, 2, 3, 1, 2, 3]
 
@hyper-neutrino idk, let me see if I can find anything
 
6:15 PM
@hyper-neutrino I don’t see exactly that, no. What’s the context?
 
39
Q: Output a Pyramid (or Highway)

hyper-neutrinoGiven a non-empty string s, with even length, and a positive integer n, representing its height, compose a pyramid using the following rules: The pyramid should contain n non-empty lines; trailing newlines are allowed. For each 1 <= i <= n, the i-th line should contain the string with each indiv...

 
o i c
 
6:36 PM
@hyper-neutrino hm. so that means the Vyxal parser always assumes the character after k should be grouped together to make a constant?
^ trying to unserstand how the parser works :P
btw who's null?
 
@math pretty much, which is a problem specifically for for loops
since the other name grouping ones indiscriminately group
whereas for loops either do (code) or (varname|code)
 
 
1 hour later…
7:57 PM
3.8
@hyper-neutrino Repeat then sort for that
Or vectorise *
 
8:27 PM
rickroll hit 1B views :D
@lyxal ^ this is important enough to warrant pinging you kekw
 
8:54 PM
@lyxal ^ he's right kekw
 
9:23 PM
Overshot it
 
 
1 hour later…
10:38 PM
@hyper-neutrino an old friend from that period of time when TNB went mega quiet last year
s/null/HighlyRadioactive
 
10:52 PM
@lyxal HighlyRadioactive is back
 
Yes
@hyper-neutrino I was thinking just dequeue until | until I realised that character can be inside strings etc
So I think that the best idea is to leave the branch grouping for the parser
That way, it knows about strings and digraphs
Because dealing with branches is what the parser is supposed to do
Not the lexer
 
11:19 PM
@hyper-neutrino what do you think of this proposal?
It can be further justified by the fact that determining behaviour based on branch presence is something done by the parser for every other structure
So why special case for loops?
 

« first day (467 days earlier)      last day (1002 days later) »