« first day (1011 days earlier)      last day (764 days later) » 

00:53
@user part of it is youtu.be/gRdfX7ut8gw, but 1. I feel like this is [Big] enough (or will be) to warrant its own repo and 2. like you said it depends on several rather chunky libraries, like rich
01:08
I'm not sure what that video has to do with this but okay, if rich is that chonky then I guess Crosshatch might have to be an optional dependency
read the title :p
Fiddler on the roof?
not quite
Tradition?
What's the tradition here?
I usually put stuff like that into its own repo
01:13
Oh
 
2 hours later…
03:12
@user as in like x.set(v)?
03:42
No, iirc there was some operator overloading
I don't actually remember what exactly made it hard, I'll have to try out a build.gradle.kts again
 
3 hours later…
06:16
Lyxal approved on PR #1562 (Vyxal/Vyxal): "Thank you. I appreciate all the detail here, and how thorough the explanations of the add functions are. "
#.😎
That's gonna be the pop 69 push "420" trigraph
And in the debug section it'll print "but why..." if you use it
Lyxal merged PR #1562 (Vyxal/Vyxal) (Vyxal:v3-more-docs → Vyxal:version-3): Write some more docs for v3
Lyxal deleted branch Vyxal/v3-more-docs
Some(69), // Takes 69 arguments
Just the idea of something popping 69 items when there's really no chance you'll ever even have 69 items is just really funny to me for some reason
Like imagine the kind of function signature it'd need if you were implementing it as a normal function lol
 
4 hours later…
10:49
@lyxal This is what v2 is missing.
11:02
15 hours ago, by mathcat
Given a list and an integer (not received via input), what's the easiest way to calculate the difference between the integer an each element of the list?
v isn't working either
isn't it just -?
β–‘βŒˆβŒŠΖ’-
wait I prob made a dumb mistake
:face-palm:
I didn't convert it to an int.
 
2 hours later…
13:22
in The Nineteenth Byte, Mar 3, 2022 at 7:12, by AviFS
adj. good: The (intangibly wondrous) state of having a repl.
@lyxal now I get to bill myself as "the person who made vyxal good (for some value of good)"
but not the first :p
shhhhhhhhh
aight so
let's get this repl working
one problem
I won't be able to help you
eh it's fine :b
if you say so :p
!!/'night
13:26
@lyxal o/
I have elected to drop the "syntax highlight as you type" feature, because it's going to be a galactic pain in the ass to implement
@VyxalBot (because it's 12:26am) o/
instead I will just have syntax highlighting be applied to a line once you hit enter
...probably, idk if I can make that work either :p
@Ginger eh that's probable better
13:41
@mathcat @Seggan would yall mind providing me with some regexes for the syntax highlighter to highlight?
idk what vyxal syntax looks like q:
well you could use vylight
nope
vylight is JS
(and it doesn't use regex anyway)
okay I'll do some
cool thanks
13:58
@mathcat ping
sry I haven't started yet lol
I'll start in ~15min
14:49
so actually
It's going to be a lot harder with pure regex.
You could use "`([^`]*?)`" for string
but I have no idea how to do implicit completion in regex
one sec
15:19
I think this "`(.*?(?<!\))`" supports escaping with backlash
I'm pretty sure the same syntax applies the compressed string « and compressed number »
The backslash escaped the next char \\.
Digraphs: βˆ†øβ†”Þ¨k
just colour the next char
hi, I am back
hey
Lambdas: Ξ» Ζ› βŸ‘ µ ⁽ ‑ ≬ ¨3 ¨2 ' ¨β‚‚ ¨β‚ƒ
you don't really have to use regex, gimme a sec to check the documentation
frick brb :p
@mathcat I believe this works tho, it just can't auto-complete strings
some more constants: β‚€ ₁ β‚„ ₆ ₇ β‚ˆ ¶ ¤ ð × u
@mathcat gosh VyxalS is outdated
ooh variables are interesting
15:36
if you don't want to use regex, you can just make a rich highlighter class (which is what I'd be doing anyway with your regex): rich.readthedocs.io/en/latest/…
nah I'm the #1 regex fan now
Variable regex: ([→|←][a-zA-Z_]+)
@mathcat Yeah ignore the fact that that repo exists lol
Someone should archive it
ig new lambdas were added afterwards
Comments: (#.*$)
I'm not sure you can use regex to highlight Vyxal effectively
watch me
15:43
I guess it'll work in like 95% of cases
Just not the 5% where you have strings containing Vyxal characters or something like that
Vyxal characters?
Like structure openers and stuff
Unless you're using one of those OP flavors of regex, which I assume you're not because you're using Python
ok, got variable and comment regex copied over
@user ah right
I'm not that good at regex, does somebody know if you can actually implicitly complete strings with regex?
You could make the end of the string optional maybe
15:48
wdym?
@mathcat so should I use this?
@Ginger you could, but you'd have to manually check if you need another backtick
???
15:55
ok, it looks like if needed extra Python code can be added for things that regex can't do
@mathcat so backticks are auto-closed if the program ends?
wait a minute
I'm pretty sure this works: ``(.*?(?<!\))`|`.*`
ok cool
I hate markdown
@mathcat so all of these just get a special highlight?
yup
The matches btw, not the groups
16:01
???
@mathcat so like [Ξ»Ζ›βŸ‘µβ½β€‘≬']|(¨3)|(¨2)|(¨β‚‚)|(¨β‚ƒ)?
yeah
alright, I've got comments, variables, strings, lambdas, and constants
@mathcat Yeah, does that work?
noice
tf is a "digraph"
or for that matter a "MOD_CHAR"
16:09
A digraph is an element with a two-character name
lemme just copy those on over
ok gimme some vyxal to test
@user nah, but I think the regex I posted below that works
poggers
!!/info
16:13
lol
@Ginger modifiers modify the element after it
ffs I need some vyxal
I'll test it with this fizzbuzz code: β‚βŸ‘β‚β‚ƒβ‚…kF½*βˆ‘βˆ΄,
oop it crashed
forgor πŸ’€ to close a bracket
how does it look?
tbh there's less highlighting than I thought
noice
kF is supposed to be highlighted tho
(ignore the <=, that's part of the interpreter)
@mathcat what is it? I don't see any regex that matches it
@mathcat ^
@mathcat < is a digraph?
16:25
wrong arrow lol
yeah I didn't have all the digraphs in the regex :p
here's how it looks now:
awesome
gimme something else to test with
right i forgot
β€› groups the next to chars as a string
hmmmm
16:34
@mathcat ^
β€›.. regex
16:46
@mathcat
(I changed the digraph color to red because bright yellow is too close to normal yellow in my terminal)
eh kinda works
but strings have a higher priority, so the chars after β€› have to be yellow
aight
@mathcat better?
(I can change any of the colors if you want)
great!
wait lemme rejigger a few things
Also, what does this output? vylight.surge.sh
16:51
@mathcat ^
it's, uh, not quite right
pretty sure that @adefinedfunction ain't supposed to look like that
yeah, backslash, compression, lists and functions
but I have to leave now, brb
adiós
17:48
@mathcat ping
18:39
@mathcat YOOOOOOOOO IT WORKED
QUICK GIMME SOME VYXAL TO TEST
@lyxal is there an (ASCII) character that Vyxal programs can never start with? I need something to use as a command prefix
@user got any Vyxal to test with?
Afraid not
sad
but the version on the GitHub dev branch should be functional!
hey wait a minute
well now I have to add that :p
we do a little trolling
18:58
lol
How about rickrolling people in the terminal instead?
I think someone suggested that before
y'know, that might actually work
I feel like there's a tool for that...
Nonono
Do not curl | bash random scripts off the internet
aight, I'll figure out how to embed it into the interpreter :p
I'm going back to the webbrowser method, we can do this later because I do not have the energy for it
Yeah good idea lol
Would've been a little too much
19:58
@Ginger what worked
the REPL!
noice
now I'm beating my head against the regex for lists
@Ginger how does this render now?
one sec
3 hours ago, by Ginger
it's, uh, not quite right
20:03
Looks pretty good to me
Other than the |
I'm like 90% sure that the lambda at the bottom is wrong, the list is definitely wrong, and the thing with the square brackets has no highlighting bc I didn't know what it was
oh and the weird chevron things
if you want to test the interpreter the version on the dev branch is ok to use (I think)
help would be appreciated on the highlighter
@Ginger awesome!
GingerIndustries opened issue #6 in Vyxal/Crosshatch: The highlighter cannot properly highlight lists
have you figured the list regex out yet?
@mathcat I'm really annoyed that Vyxal Bot sent that message before you, otherwise I could've been like "does this answer your question"
20:07
lol
GingerIndustries opened issue #7 in Vyxal/Crosshatch: Write some help for the REPL
it seems to have some... issues with multiline programs tho:
> stack.append('aiibtulvmijmklilhdlwmz yqhrrnqbumgplsfmzrfoabogdkxshvesveduhlksmhaubnqtie ckxefwbzmwpyzapqvvpgcytaubfssyhvcmqhzqsqijyniivjpkxzimhvzsihvgetjhjgfoimhhnmbjbycjiqqprdjwenwprvodwjotyqzpjooopctztdcwhp cbcg bteixja')
20:42
lmao
@mathcat I just realised I said VyxalS I meant Vylight lol
@Ginger it's the "123" and "ergi" here
also, v and = are modifiers, maybe colour the next element
Sry I can't make any good commits my RPI's low on space
@mathcat wait a minute that's not a Vylight feature
alright, for multiline programs I think I can just use Shift+Enter for moving to the next line
@mathcat I'll do these and list regex real quik
21:14
I have no idea why this isn't working.
What are you trying to match?
Try [^|] instead of .
kinda works, but just for the first pipe
which makes sense
same problem I've been having
I'll give it a try tomorrow, o/
Well first off your regex needs to look more like [^|]*(\|[^|]*)*
Otherwise you might as well have \[[^\]]*\]
22:20
@Ginger no
This is a golfing language
That'd be a horrible idea if that existed
@Ginger ;
its not forbidden, but its useless at the start
or ], or )
Or | for that matter
Not forbidden, but acts as a nop
For now
22:33
Or # since comments aren’t super useful in repls
23:05
Is there a way to take input character by character from stdin for this challange?
7
Q: Implement a 2fuck interpreter

mousetail2fuck is a simple 2d variation on brainfuck. Like brainfuck, there is a tape that extends 30000 bytes to the right, consisting of values between 0 and 255. Arithmetic should wrap around, adding 1 to 255 sets the cell to 0, and moving right from cell 29999 should move the pointer back to 0. The co...

@AndrovT once you read the program from stdin, do you need to take any other inputs that isn't the simulated stdin?
I need to somehow input the program and then the program itself needs to read input
but once you read the program, the only remaining input is the simulated stdin?
I guess
¨S
that overwrites stdin to be whatever value is on the top of the stack
so if you give it a string, all calls to input will return the next character
23:20
nice
I'll try that
and if for some reason you need to reset stdin after that, ¨R
Time for me to finally use a variable in Vyxal because I need to save the program
Try the register instead
Or the ghost variable
23:48
@user does scala have input fuzzers?
Or whatever its called when the testing thing creates random data for you
Apparently
Google yields results about this Kaizen thing but I can't find an actual repo for it
So maybe it's just a research thing
Because I remembered that fuzzing is a thing from the conversation about testing
Oh, there's this thing for testing your tests
ScalaCheck (which is integrated into ScalaTest), can do property-based testing with randomly generated values
You'll hate me for saying this but how easy is it to integrate that into the project?

« first day (1011 days earlier)      last day (764 days later) »