« first day (658 days earlier)      last day (1115 days later) » 

00:19
chunkybanana opened issue #714 in Vyxal/Vyxal: Sympy output rounds large integers
@mathcat Okay, I can explain better now that I'm at my laptop
Basically, every line of Vyxal code is wrapped inside Commands, so instead of passing in a list of ASTs you pass in a single Commands object that contains a bunch of elements and structures and whatnot
You'll see this other method that works on a list of ASTs, and it's used by the While and If structures (and will eventually be used by the For structure)
@mathcat Is that good or bad? :P
01:26
@VyxalBot how's my favourite beep boop doing today?
01:54
Lyxal created a discussion in Vyxal/Vyxal: Codepage planning
5
 
5 hours later…
06:54
in The Nineteenth Byte, 11 mins ago, by hyper-neutrino
Voting for the Best of CGCC 2021 is now open! Go cast your votes there - you can vote via the comments where I've added one under each category for each nomination.
Why are non-ASCII characters not in the codepage, like Ζ›?
Make sure to keep an eye out for the epic vyxal submissions there
@mathcat because it's not filled fully yet
okay
I only did ascii at this stage because it's a given
The position of other stuff is to be determined
for a moment I thought Vyxal 3 is going to use only ASCII characters
06:56
> (. represents an unfilled slot)
@lyxal couldn't you do it in the same order as its code value?
@mathcat I don't know what to even include yet
oh, so you're changing the codepage entirely?
In a sense, yes
Some characters might be reused
But I'm hoping for some new innovation
07:18
@user oh, okay
Maybe replace Λ‡ characters with greek letters?
07:58
ello
anyone here willing to teach me vxyal?
er I can't teach
cuz i want to learn another golfing lang
other than python
(Btw there's a 300 rep bounty for 5 vyxal answers)
08:02
?
wdym
Look on the bounties with no deadline page + curl-f for vyxal
@DialFrost python is not a golflang lmao
@emanresuA o.0
(used to be 200 but I decided to give back to the Vyxal community)
@DialFrost anywhat I've gtg to school
actually Aaron can teach
08:22
who's aaron?
@PyGamer0 u can golf in python but its not classified as a golflang right
@DialFrost I'll be available in a few hours
I'll be able to teach 2.5 to 3 hours from now
teach like how tho
@emanresuA transfer data failing silently on a server error?
08:28
@DialFrost Python to Vyxal comparison
@DialFrost ill give a simple intro: Vyxal is stack based, all commands operate on a stack
so its sorta postfix
!!/run 1 1+
@PyGamer0 2
because you typoed ctrl-f to curl-f
so it's
curl -f
get it
i need to fucking sleep
08:29
then go f***ing sleep
lol
anybody got the github link for vxyal
@DialFrost the stack in vyxal is by default padded with 0s
@UnrelatedString autocorrect
!!/run +
@PyGamer0 0
08:31
@DialFrost it’s in the description
oh whoops
im blind sry emanresu
so how do yall code in vxyal
u refer to the elements and keyboard?
Usually you just click the element you want on the on screen keyboard and work from there
I've gotta go for now, but I'll be back later to teach
@DialFrost can you guess what this program does? 54 4+
58?
!!/run 54 4+
08:36
@DialFrost Did you forget to put backticks around your code (`code`)? Remember to escape any backticks in your code (to type `hi`, enter `\`hi\``).
...
forgot bout tat
!!/run 54 4+
@DialFrost yes
!!/run 54 4+
@PyGamer0 58
wait im stupid
!!/run 54 4+
@DialFrost 58
08:37
@DialFrost backticks around the code, not the entire message
!!/hug
@PyGamer0 ΰΌΌ ぀ β—•oβ—• ༽぀
i kinda figure tat out
!!/hug
@DialFrost βŠ‚((・▽・))βŠƒ
i prefer the first one
XD
08:37
ok you got the basic arithmetic operators: +-*/
here is your first command: e
it is similar to python's **
!!/run 2 4e
@PyGamer0 16
hmm okey
thats all for now
cause i cant teach
just go ahead and experiment in the online interpreter
08:42
lol
okey
read the documentation
until lyxal comes back
 
2 hours later…
10:25
Ighto I have returned for teaching
@DialFrost how familiar are you with stacks?
10:36
wats a stack
10:47
u there @lyxal?
I'm here now
A stack is a kind of list where you can only append items or pop from the end
You can't randomly access items without popping items to get to them
It's like if you have a pile of plates
You can only access the top plate, but you can place other plates on top of that top plate
Vyxal uses a stack to keep track of data
ah ic
Instead of plates, there's numbers, strings, lists and functions
As you've seen, typing a number "pushes" that number to the stack
It's as if you wrote a number on a plate and placed it on the pile
10:58
ic
Surrounding text in backticks pushes a string to the stack
It's as if you wrote a word on a plate and placed it on the pile
i will try not to say anything so i dont flood the chat, but pls continue unless u want me to answer :P
Lists are items surrounded in ⟨⟩ and separated by |
So instead of writing [1, 2, 3], you'd write ⟨1|2|3⟩
I'll explain functions a bit later once we've covered a bit more
ic
whoops i js broke the rule
No no, that's fine
I was going to ask if you have any questions so far anyway.
11:01
:)
ah er not rly
i have a quick qns
Ask away
e.g. ½ in vxyal means it halfes an item right
but how do u implement it in the actual code
like do u js type or wat
You just use it as-is
But I think you'll find a better answer when I explain elements
Elements are Vyxal's commands
They are the equivalent of built-ins in python
But unlike python built-ins, you don't need to surround elements with parentheses (()) and you don't need to explicitly provide arguments
That's because elements take their arguments from the stack
They do so by taking however many plates they need from the top of the pile
They then look at the data on those plates, process the data according to their functionality and put a plate back on the pile with their processed data
So to use ½, you make sure you have plates in your pile of plates and simply write ½
!!/run 8 ½
11:07
@lyxal 4
!!/run 4 1 7 2 8 ½
@lyxal 4
As you can see, ½ only pops one item
It leaves the rest of the stack alone
And you don't need to worry about whitespace
!!/run
@lyxal 4
!!/run 8 ½
11:08
@lyxal 4
It's all the same
That's because the ½ is a single command
It can just be used without having to worry about what comes before it and what comes after it
I'll let you ask any questions you have now
er how does this work
!!/run 4 1 7 2 8 ½
y does it only print 4
That's because of how implicit output works
while the terminology looks complicated, it's quite simple
If nothing has been explicitly printed (that is, nothing has been printed using ,, β‚΄, … etc), during program execution, the top of the stack is automatically printed
ah ic
4 1 7 2 8 pushes the numbers 4, 1, 7, 2 and 8 to the stack
½ takes the 8 and pushes 4
because nothing has been printed using , and such, that 4 is displayed automatically
11:13
oooooh
?wat does , do
it pops and prints the top item of the stack
!!/run 4 1 7 2 8,
@lyxal 8
ah ic
!!/run 4, 1, 7, 2, 8,
[@lyxal: 60341916]
4
1
7
2
8
11:14
it's basically python's print()
this is so cursed
it gets better I promise
my brain hurts from learning vxyal while making this challenge simultaneously
0
A: Sandbox for Proposed Challenges

DialFrostCubax Folding Your task is to solve a new puzzle called Cubax. This toy is actually a Chinese puzzle whose expected β€œfinal” state is a simple cube. During the festivities, Cubax unfolded, because it cannot move when folded. Cubax is composed of NΒ³ smaller cubes (elements) linked together in a kin...

er is that supposed to be a good thing or bad thing "it gets better"
I understand that learning a new language can be straining
@DialFrost good thing
11:15
the headache should eventually subside
because I know that APL sometimes gives me a headache, but only when I'm learning it
partially cuz the puzzle i posted is insanely difficult
ic
would you like to take a break or keep going?
erm
keep going
other simple elements include +, -, * and /
which are addition, subtraction, multiplication and divison respectively
they pop two items from the stack, perform their operation and push their result back to the stack
!!/run 4 5 +, 8 1 -, 6 4 *, 1 2 /,
[@lyxal: 60341957]
9
7
24
1/2
11:19
which is 4 + 5, 8 - 1, 6 * 4 and 1 / 2
now you're probably wondering why it displayed 1/2 for 1 2/
that's because decimals are printed as fractions
!!/run 0.5
@lyxal 1/2
!!/run 1.25
@lyxal 5/4
!!/run 6 10 /
@lyxal 3/5
11:20
It always displays the most simplified fraction
hmm ic
the reason for using fractions for everything is that it avoids nasty floating point errors
!!/run 0.1 0.2 +
@lyxal 3/10
(0.3)
you don't need to know exactly why that happens, you just need to know that accuracy is maintained with decimals in vyxal
After that, do you have any questions I can answer?
hmm
time to take a break
lol
11:23
sure
ping me when you're ready to continue
tbh all u have mentioned so far is easy to understand but im tired tdy
and i have school cuz im too young :)
@DialFrost is it late where you are?
724pm
not late
yet
@DialFrost well I'm happy that you're concerned about getting to sleep early then
I used to head off to bed early when I went to school
even if it meant leaving the discussions of TNB, etc
@DialFrost looks like you're 3 hours behind me
ic
wr ru from btw
11:26
to give you a serious answer to your question on how old I am, I'm 19 - roughly the same age as some other TNBers
@DialFrost Australia
woowwwww thats nice
austrialia's quite nice place
@DialFrost it is when it's not boiling hot in summer ;p
good wind there
haha
im from singapore u might have alr heard
ah nice
wait singapore is 3 timezones east of where I am?
wow
I knew I was bad at geography
but I didn't think I was that bad
haha
do u how painful it is to golf a code thats 10k bytes long
11:29
thankfully not
well its very very very insanely dumb
cuz im doing it rn
@DialFrost are you asking how to use it?
or how is it implemented behind the scenes?
?
er both
to use it in vyxal code just type ½
yeah lyxal showed you that
anyways i havent studied vyxal's source at all
but ill tell you how the Q is implemented in flax
is lxyal the owner or something
sry i dont know who is lol
11:36
@DialFrost ... maybe ... ;p
lyxal is the creator of vyxal probably
idk their names match
The language is vyxal and my name is lyxal
I think the similarities are a coincidence ;p
lol
ur 19 wow okey
u have impressive coding skills my guy
how many langs do u code in
creating languages is really easy
finding and killing bugs is hard
@DialFrost python, javascript (when forced to or when something goes wrong with the online interpreter), c++/java (for uni) and Scala (very barely right now, but very much soon)
anyhow, continue with the vyxaling?
11:38
now???
pls no
lol
okay then, we won't
im golfing the code rn for answer for the sandbox post
got it down from 8kor9k to 3.75k
@DialFrost implementation is easy, code is split into tokens then grouped by a parser... the transpiler takes the parsed tokens and convert that into python. the generated python code runs
oh yeah, I forgot to mention that you can see what vyxal looks like as python pretty easily
!!/run 1 2 3 4 5 6 + -c
[@lyxal: 60342153]
11

STDERR:
stack.append(sympy.nsimplify("1"))

stack.append(sympy.nsimplify("2"))

stack.append(sympy.nsimplify("3"))

stack.append(sympy.nsimplify("4"))

stack.append(sympy.nsimplify("5"))

stack.append(sympy.nsimplify("6"))

rhs, lhs = pop(stack, 2, ctx); stack.append(add(lhs, rhs, ctx=ctx))
11:41
the -c is a command line flag
it's usually just c but the - is to make it clear that it's separate to the 1 2 3 4 5 6 +
stack.append(sympy.nsimplify("4"))

lhs = pop(stack, 1, ctx); stack.append(halve(lhs, ctx=ctx))
@DialFrost actually, if it's okay with you, I might leave my teaching there
I'm thinking of getting an early night tonight
(well, earlier than usual)
11:50
!!/'night
@lyxal o/
 
2 hours later…
13:52
@lyxal better than me
Before 2 months I thought Singapore is a city
@DialFrost maybe I can try teaching you smth
singapore is a city btw mathcat
its also a country
also a nation
wow I'm actually okay in geography
14:41
@PyGamer0 Nah, finding them is easy, it's killing them that's hard
15:10
@mathcat wow πŸ‘Œ πŸ‘
thanks
At last my err talent is being recognised
wow πŸ‘Œ πŸ‘
16:06
@AaroneousMiller sadly finding also hard for me
Fixing less hard imo
 
1 hour later…
17:24
@user why would you find a bug?
you could maybe search where the bug is?
oh wait that's the same thing
Can I create branches in the main Vyxal Repo?
17:41
 
1 hour later…
 
1 hour later…
20:25
Tams-Tams opened PR #716 (Vyxal/Vyxal) (Vyxal:slice-from → Vyxal:main): Fix slice from `Θ―` with negative numbers
^ at last I fixed some issue that an 8-grader probably could not
 
2 hours later…
22:38
Lyxal requested changes on PR #709 (Vyxal/VyxalTams-Tams/Vyxal): "My only concern is that this was specifically requested as a feature: #227"

« first day (658 days earlier)      last day (1115 days later) »