« first day (576 days earlier)      last day (1199 days later) » 

00:00
@user What name of esolang?
Oops (it's in a private repo, and it's crappy enough that I don't feel like discussing it more)
ok
i want to learn Vyxal.
00:13
@lyxal ^
!!/info
@Fmbalbuena ^ There's a tutorial there, along with other helpful links
@lyxal @user how to put the variable to the stack?
@user is "#" comments?
00:19
Yup, just like Python (and some other languages)
@user What a waste of commands.
It's meant to make it easier to understand Vyxal, unlike other golflangs that focus solely on golfiness
One of Vyxal's primary goals is readability. Comments help with that a lot
and making polyglots?
@Fmbalbuena do you know how stacks work?
Besides, there's 254 more characters, and even more commands in all
@Fmbalbuena I suppose so, yeah
00:20
@lyxal Yeah
That's good
Do you know how type overloads work?
the stack starts at [input]
@lyxal uh what is type overload?
@Fmbalbuena it's when a built-in (element is what we call them) does different things based on the type(s) it's given
@lyxal I still don't understand.
For example, / (divide), performs division when given two numbers, string wrapping when given a string and a number and string spitting when given two strings
!!/run 3 4/
00:22
@lyxal 0.75
!!/run `abcdef`2/
@lyxal ⟨`abc`|`def`⟩
@lyxal i know
!!/run `abcdecfgch``c`/
@lyxal ⟨`ab`|`de`|`fg`|`h`⟩
00:23
@Fmbalbuena the general idea is that everything does different things based on what is given
!!/run `aa\`aa`
@Fmbalbuena Did you forget to put backticks around your code (`code`)? Remember to escape any backticks in your code (to type `hi`, enter `\`hi\``).
!!/run aa\`aa
@Fmbalbuena 1
@Fmbalbuena Vyxal doesn't have infix syntax (and besides, a backslash followed by a backtick escapes the backtick in markdown)
00:25
Vyxal can be seen as kind of postfix
More concatenative than postfix, really
The elements operate in a postfix way, but they aren't parsed as postfix
@lyxal is there Vyxal equvalent of 05AB1E ("”")
I just have to check what that does
This uses compressed strings which gets words.
00:27
You can do that inside normal strings
Any sequence of two non ascii letters gets turned into a dictionary word
You can get these by using øD on a string
!!/run `Hello, World!`øD
@lyxal `ƈṡ, ƛ€!`
And the other way:
!!/run `ƈṡ, ƛ€!`
@user Hello, World!
@Fmbalbuena It's like, say, in Python, + adds two numbers when given those, but appends two strings when given those.
00:29
@Fmbalbuena exactly
That's overloading, pretty much :P
@emanresuA And concatenates two lists when given those (which is pretty much what Vyxal does)
@lyxal did you see this example
Yeah, although not all languages do that.
@Fmbalbuena I replied to it
And yes, that is how dictionary string compression works
00:30
PHP has pretty much no overloading, for example
Really? I thought it was the cursed language with overloading and coercion producing crazy bugs
And don't ask why "Lyxal" is in the compression dictionary
@lyxal Is there "Fmbalbuena" in the compression dictionary?
@user Well, it has . for concatenation and + for addition :P
Vanity
inb4 lyxal kicks me from the room
@emanresuA Shows what i know about Vyxal
00:32
!!/run `Fmbalbuena`øD
@lyxal `F¡‹⇩↑↳ǔ`
@Fmbalbuena not the whole word, but snippets of it
The people who made JS must've had someone like me who had no idea what JS was supposed to be but tried implementing stuff anyway :P
Anyhow @Fmbalbuena it seems you have a good understanding of most of the basic concepts of vyxal
00:33
@TheodoreBanks Welcome to the Vyxal chat room! Type !!/help for my list of commands, and !!/info for info about Vyxal!
Do you understand structures?
Then you already know vyxal :)
00:59
@hyper-neutrino Question: !!/pull is only for users with permission?
38 messages moved to ­Trash
it's for admins only (which is more restrictive than privileged)
currently the only admin is me
01:12
@hyperneutrino is this account privileged?
Asking so I don't accidentally ping everyone while testing the hyperping
idk
!!/am i privileged
@hyper-neutrino you are a privileged user
you didn't even ping me btw
!!/am i privileged
@Fmbalbuena you are not a privileged user; ask someone to grant you permissions if you believe you should have them (user id: 524398)
01:13
Lol
!!/am I privileged
@Allxy you are not a privileged user; ask someone to grant you permissions if you believe you should have them (user id: 521865)
Okay good
!!/hyperping
@Allxy you are not a privileged user; ask someone to grant you permissions if you believe you should have them (user id: 521865)
hyperping was already tested kekw
Good.
01:14
!!/not am I privileged
What does kekw stand for anyway?
@hyper-neutrino well maybe I didn't see that
it was deleted lol
so like
yeah
Very gameristic
@Allxy based
01:15
[2.7818281828, " \t\r\n\000b\000c"] apparently
@Allxy Don't you be doing that, Allxy, I've kicked you now :P
Gosh dang it
Do mods have unkick powers?
Yes, an appropriate punishment
Can ros unkick
01:19
@user stoopid.
Sorry I didn't mean to do that again
Bruh
I was trying to ignore you lol
Bruh moment
@Allxy you're a sock you dont even have a bran of your own shutup
01:21
cd allxy, pip install brain
@user I have a very simple remedy for this
But so long as you don't kick allxy again I won't have to
@lyxal Un-RO-ing me? lol
@emanresuA Real gamers use ~\C:\home\user\Downloads\pton\python 3.9\bin\python3.9.exe -m pip install brain
@lyxal based? Based on what? Based on your mom?
4
Why you gotta keep bringing Allxy in and tempting me to kick you?
@Allxy No, based on Joe
Because I wanted to make bad joke
@user it's not to tempt you just don't kick ez
Bold of them to assume we actually have norms
01:46
idk if we can unkick
but we can undo the room creation ban from getting kicked
The norms for this room are that there are no norms
02:15
Hey where did the test log file on the repo go?
I'm seeing a very distinct lack of txt files
Did one of y'all delete it (it's cool if you did, I'm just wondering where it went)
!!/don't ping me
@lyxal I have taken you off of the ping list.
!!/ping me
@lyxal I have put you on the ping list.
> I have taken you off of the ping list.
> off of
Should just be off
@hyper-neutrino ^
 
1 hour later…
03:33
don't both work?
i mean for consistency sure
no I don't mean about consistency, I mean grammar wise
why is "off of" incorrect though?
== English == === Pronunciation === (UK) IPA(key): /ˈɒfəv/, (reduced, before a consonant) /ˈɒfə/ === Preposition === off of (now colloquial) Off; from. [from 15th c.] c. 1591, William Shakespeare, Henry VI, part 2, First Folio 1623, II.1: Card. What, art thou lame? Simpc. I, God Almightie helpe me. Suff. How cam'st thou so? Simpc. A fall off of a Tree. 1740, Samuel Richardson, Pamela: Do, my dearest child, get me off of this difficulty, and I can have no other [...]. 1928, "Eye of Gawd", Time, 28 Sep 1928: "The green curtains that hung there for years and years... have been taken down...
> The use of off of as a preposition is now considered tautological or incorrect by some usage guides and is not suitable for formal or business use. Off of can be replaced with on, from or off: "This is based on (off of) his first book"; "I got the information from (off of) the Internet"; "He took a paper off (off of) his desk".
"off of" is just something that bugs me, that's all
¯\_(ツ)_/¯ sure i'll change it
!!/pull
@hyper-neutrino pulling new changes; I will restart in a few seconds if any updates are available
thank you
It's a small and petty thing, but I appreciate it
free golf so i'll take it
ah yes feels good to know that Ġ was never re-implemented correctly lol
@lyxal um, i did bc pytest was erroring, i thought i accidentally generated it
@user lol no
that was me routing the output to a single text file
because it was too long for powershell
pytest test_elements.py >test_log.txt
also, we're below 100 failed
======================= 98 failed, 216 passed in 43.37s =======================
03:52
Ah
To make it shorter, you can remove the print statement to print code in processor.py
Or you can use --maxfail=3 for just the first three failures
no no that's good
it's good the way it is
👍
04:10
juicy.
gotta love those email notifications
Turn them off lol
so many of these fails are just wrong test data in the yaml
04:50
@emanresuA remember when you changed ǒ to be wrap into chunks of length 2?
you didn't update the test cases in the yaml lol
05:04
also, we're down to 77 test case fails left
in 2 hours, I've managed to fix 21 things
very cool
nvm I can't count
we're down to 75 left
======================= 75 failed, 238 passed in 23.12s =======================
Nice
Actually, 69 would be nice:p
i will take that out of context
05:30
🤬
gotem
05:52
@lyxal Oop
(s)
 
3 hours later…
09:16
6 hours ago, by hyper-neutrino
user image
Way ahead of you
10:10
So one thing I've realised is that the test cases for the constants that are also irrational (as in, pi, etc) need a bit of special treatment in the element testing file
Because the Sympy value is gonna be a little different then what the docs have
Yeah, and function testcases == pain :P
@lyxal And the radian/degree/trig/log/e^x functions :P
@emanresuA exactly
That can be your job because needs slep, o/
Yes, and imma explain my idea
So what I was thinking was to use nsymplify on both expected and actual value if it's detected that the expected value is in float form
Basically, it's just a little extra parsing in the test generator
 
1 hour later…
11:32
unordered = (
                            len(expected) > 1
                            and expected[0] == "{"
                            and expected[-1] == "}"
                        )
because there are totally curly brackets in the yaml
*curly brackets that aren't parts of constants
11:53
on closer inspection, there's only one single test case where this is applied
- '["adbcdbcd"] : {"b","c","d","bc","cd","bcd","db","dbc"}'
and even then, that seems like that there's a problem with the element, not a need for a special case like this
12:13
Actually, multiple elements need to be compared out of of order, but I didn’t bother with those
oh
well dang
I deleted the unordered part because it was that one element
I think the generated tests should optionally be able to give their own assertions
also, there's been a surprising amount of constants implemented incorrectly lol
@user that's a good idea
Lol
@lyxal yeah it was too specific 👍
======================= 61 failed, 252 passed in 57.87s =======================
huh, sympy is turning out to be more annoying than I thought
it's like itertools and symbolic math had a child
because I'm feeling a very heavy sense of deja vu with all these gosh dang sympy classes
e.g:
x = sympy.cos(sympy.nsimplify(3.1415926535, rational=True))
>>> x
cos(6283185307/2000000000)
>>> type(x)
cos
>>> type(x).__bases__
(TrigonometricFunction,)
>>> type(x).__bases__[0].__bases__
(Function,)
>>> type(x).__bases__[0].__bases__[0].__bases__
(Application, <class 'sympy.core.expr.Expr'>)
just when I thought I had a catch-all way of determining if something is sympy, they go and screw it up
because usually vyxal just checks if sympy is in str(type(whatever))
because, y'know, most sympy objects have sympy.whatever.whatever.and_so_on as their type
but apparently...
apparently
cos (and presumably sin and tan) don't
I tell you what, wrapping stuff in sympy.nsimplify makes me feel like I'm doing the coding equivalent of off-camera mining/building in minecraft
what tf is wrong with pytest?
hang on I'mm'a rant in TNB about this
because this is weird af
12:46
sympy doesn’t have a function to check if an object is a symp?
This is sadge, let’s roll our own Rational number library
We don’t even need most of those classes because they’re for irrationals
About what you posted in TNB, could vyxalify be borked?
Also 61 left, very cool
wrong.
======================= 59 failed, 254 passed in 48.55s =======================
and with that, I'm off to bed
because frick trig
2
it sucks
and has too many types in sympy
!!/'night
@lyxal o/
 
3 hours later…
15:35
!!/am i privileged
@PyGamer0 you are not a privileged user; ask someone to grant you permissions if you believe you should have them (user id: 513493)
 
8 hours later…
23:54
in The Nineteenth Byte, 7 mins ago, by user
@lyxal Using isinstance(foo, sympy.Basic) might work (SO question)
Gosh dang really?
So it does.

« first day (576 days earlier)      last day (1199 days later) »