« first day (577 days earlier)      last day (1198 days later) » 

00:07
Is it time for a commit message saying "man unfrick trig?"
00:30
Maybe... :p
 
2 hours later…
02:05
@lyxal
I want to learn, @lyxal
Do you know how to write an if statement in Vyxal?
Okay and how about a for/while loop?
!!/help
All of my commands start with @VyxalBot or !!/
- Use "ping me" or "don't ping me" to add/remove yourself from the ping list
- To evaluate Vyxal code, use "(execute|run|run code|evaluate)", followed by code, flags, and inputs inside inline code blocks (multiline code is not supported; provide multiline input in multiple code blocks)
- For a full list of commands, see https://github.com/Vyxal/VyxalBotSE/blob/master/instructions.md
02:15
!!/info
(I'm just asking so I can determine what to teach)
(|)
I Know but i forget the syntax
(variable|code)
{condition|code}
oh i don't know
02:17
Would you like me to explain the loops?
Okay so there's two main kinds of loops: for and while loops
For loops pop a value off the stack and executes code for each item in that value
Numbers are converted to ranges btw
i know for, each and while
I know, but I'm just explaining how they work in Vyxal
So for example:
!!/run 10(1,)
[@lyxal: 59604965]
1
1
1
1
1
1
1
1
1
1
02:20
!!/run 10(,)
[@Fmbalbuena: 59604976]
0
0
0
0
0
0
0
0
0
0
So then you're probably wondering how to get the current value it's iterating over
You can retrieve it using n
n is the context variable - it stores the arguments for the current structure
or duplicate the stack?
!!/run 10(n,)
[@lyxal: 59604999]
0
1
2
3
4
5
6
7
8
9
02:21
I mean like that
!!/run `String`(n,)
[@lyxal: 59605003]
S
t
r
i
n
g
See how n gets the current iteration value?
!!/run 10:(,)
[@Fmbalbuena: 59605008]
10
0
0
0
0
0
0
0
0
0
oh sorry
!!/run 10:(:,)
02:23
[@Fmbalbuena: 59605012]
10
10
10
10
10
10
10
10
10
10
No, no, it's fine. Experimentation is what helps you learn :)
Vyxal is my favorite golfing language but not favorite programming language
I'm happy with that
Anyhow, you can also specify the variable name for the loop if you don't want to use n
despite everything i've said about lacking all the builtins I want it is actually one of the few golfing languages i can use
@lyxal See my about
02:25
!!/run 10(iteration_value|1 ←iteration_value +,)
[@lyxal: 59605028]
1
2
3
4
5
6
7
8
9
10
@Fmbalbuena :)
@hyper-neutrino well the lack of built-ins is purely from a lack of knowledge of built-ins that's still present from version 0 lol
lol yeah
Like version 3 will obviously have a better built-in set, because I know a whole lot more than I did when I first made vyxal, and before May even
02:27
@Fmbalbuena you want E instead
But that won't work online because the online interpreter is sandboxed for server safety
That works in the offline version though
@Fmbalbuena I would say not that many but I don't really know
wait did the thumbnail change?
@hyper-neutrino yep
02:29
interesting
It changed quite a while ago (read: a few months)
@Fmbalbuena yeah that's something hyper special-cased for the bot
!!/run `@hyper-neutrino` ^
!!//hyperping
@Fmbalbuena @hyper-neutrino
02:32
That's because @ is used for function definitions and function calls
!!/run @triple:1|3*; c ``
[@lyxal: 59605100]
0

STDERR:
global stack, register, printed, output, MAP_START, MAP_OFFSET, _join, _vertical_join, use_encoding, input_level, raw_strings, retain_items, reverse_args, this_function
def FN_triple(parameter_stack, arity=None):
    global context_level, context_values, input_level, input_values, retain_items, printed, register
    this_function = FN_triple
    context_values.append(parameter_stack[-1])
    parameters = []
    parameters.append(pop(parameter_stack))
    stack = parameters[::]
As you can see, that's what it transpiles as
!!/run @triple:1|3*; 7 @triple;
@lyxal 21
And that's how you would call it
@lyxal gtg
 
2 hours later…
04:17
@lyxal i learnt a lot after i joined tnb
05:08
Mmm yes implementing custom floating point equality for test cases got me feeling good
06:01
haha when you were using python default equality meaning it wasn't actually catching things like l returning a bool instead of int for two non-numbers
so that 59 failed is actually 61 failed
hey wait what
61?
wow
by fixing the processor, I didn't break too much
* I didn't reveal too many bugs
06:23
Protip: don't do test case fixing until I upload my updated version
06:45
@lyxal Aaron hid another rickroll, props if you can find it
 
2 hours later…
08:19
Down to 56 failed
08:40
@lyxal this is a thing? am I helping out here as well?
 
1 hour later…
09:55
@Razetime it is
Also, user's bounty as well
yesterday, by user
Once I get enough rep, I'll give 50 rep (only once, though) to anyone who fixes 5 elements
10:22
@Razetime which answer do you want your bounty on
Because as you can see, that's 6 elements you implemented
And last time I checked, 6 is more than 5
Here I'll check again just to be sure
!!/run 6 5>
@lyxal 1
Yep 6 is more than 5
Meaning you're eligible for the one time bounty
 
1 hour later…
11:46
fun story:
0
A: Digit small numbers

lyxalVyxal, 11 bytes KḂZƛṅL;?L>A Try it Online! Hmm yes Jelly porting goes brr. Explained KḂZƛṅL;?L>A K # factors_of(input) Ḃ # that, and that reversed Z # zip those two -> pairs of factors that have product = input ƛṅL; # join each on spaces and take length ...

it was originally 16 bytes
but then caird posted a 14 byte Jelly answer
which was originally 15 bytes
so I took that 2 byte beat and used it against caird with a 3 byte beat
code golf marxism ftw I guess
(that's a joke)
(that's in no way a political statement)
12:14
@lyxal
yes
Can I learn vyxal?
sure
so we left off on for-loops
and functions
to recap:
!!/run @triple:1|3*; 7 @triple;
@lyxal 21
that defines a function named triple that takes 1 parameter
and it returns that parameter times 3
so the next thing to note is that parameters can be named
that is, you can make it so that parameters can be accessed through variables
12:17
What is the ASCII Number of o/
you mean
!!/run \oC
@lyxal 111
or do you mean
!!/run `o/`C
@lyxal ⟨111|47⟩
no, decode String without letter "D".
12:18
do you mean get a compressed string without using øD?
"ø"
!!/run `ø`C
@Fmbalbuena ⟨⟩
Fun fact: there's a language bar that gives you all the characters of vyxal: abrudz.github.io/lb/vyxal
that's what it looks like
notice the character bar at the top
but to answer your question:
!!/run `\ø`C
@lyxal 248
!!/run 248C
12:20
@lyxal ø
@lyxal How i do?
make a bookmark with the url javascript:(d=>{let%20e=d.createElement("script");e.src="https://abrudz.github.io/lb/vyxal.js";d.body.appendChild(e)})(document)
it should look something like this
(ignore my questionable choice of music lol)
Uhhh google dont think is url
are you on mobile or desktop?
desktop google
12:23
I'm running vivaldi which is basically chromium
you might have to bookmark a random page and edit the URL of the bookmark after it's made
no you need to set the bookmark URL to javascript:(d=>{let%20e=d.createElement("script");e.src="https://abrudz.github.io/lb/vyxal.js";d.body.appendChild(e)})(document)
that is the url
all of it
Now i't works
i need to type "javascript" without copy and paste
!!/run `ß∆ ʁ⟑ ⌈⌊ λ¬ `
@Fmbalbuena Islands santa Disappointed and
@lyxal i typed random words
12:38
that's how the dictionary works
Is santa Disappointed by Islands?
2
probably :p
And...
None
!!/run `λƛ ¬∧ ⟑∨ ⟇÷ ׫ »° •ß ∆ø Þ¨`
@Fmbalbuena The Games John Login Society Risk Supplies wrote institutions
@lyxal TGJLSRS wrote institutions.
12:41
ah yes institutions, my favourite book ;P
!!/run `₴ṁ is ¤„`
@Fmbalbuena lyxal is crazy
yeah, there's a bunch of 3 letter combinations in the dictionary
@lyxal Is possible to convert base n to base n? (list)
do you have an example in mind?
12:45
no.
i can create in python but not vyxal
I more mean whether or not you have an example of the data
13:04
anyhow I'm too tired to stay awake anymore
!!/'night
@lyxal o/
!!/bye
@Fmbalbuena o/
 
5 hours later…
18:15
lyxal is still in night
18:26
@Adám Welcome to the Vyxal chat room! Type !!/help for my list of commands, and !!/info for info about Vyxal!
@Fmbalbuena OK, I'm here. Now, why do I look like the Vyxal Bot?
Oh, you mean because I "auto" greet people in the APL Orchard?
@Adám means
So the bot here remembers who it has seen in the past?
@Fmbalbuena "means"?
18:28
if someome posts a command like !!/run, vyxal bot posts
and the @user deletes. the message of vyxal bot is deleted!
Oh, that's what you mean!
It just makes the transcript more sensible, imo.
And btw, iirc, it was my idea for the bot to remove its response in such a case.
So it makes more sense to say that the Vyxal bot is like me, than that I'm like the Vyxal bot.
18:49
Our bot took some inspiration from some other bots and things, so I'd agree with Adam there.
VyxalBot is inspired by APLBot
why? because I wrote both of them
and a lot of APLBot's design is inspired by how Adam chats
because it's the bot I made for his room so of course I designed it the way he wants and took all the feedback from him
and a lot of his ideas I found really good and just applied them to VyxalBot too lol
 
3 hours later…
21:57
Hmm, perhaps if we ever figure out a way to upload minds to computers, Adám will be one of the first thanks to HN's work :P
22:47
@lyxal I still have questions about Vyxal.
!!/help
All of my commands start with @VyxalBot or !!/
- Use "ping me" or "don't ping me" to add/remove yourself from the ping list
- To evaluate Vyxal code, use "(execute|run|run code|evaluate)", followed by code, flags, and inputs inside inline code blocks (multiline code is not supported; provide multiline input in multiple code blocks)
- For a full list of commands, see https://github.com/Vyxal/VyxalBotSE/blob/master/instructions.md
(Oooh)
(message response failed or the new message is not a command)
(Give Up)
(message response failed or the new message is not a command)
22:49
@Fmbalbuena I'll be able to answer them in around 5 minutes
Because I'm currently eat breakfast
ok
i'll wait
@hyper-neutrino can i see vyxal bot source?
It's right here
@Fmbalbuena righto lets begin
What questions do you have?
23:16
@lyxal sorry for late reply, Is possible to sleep x seconds?
23:27
Not directly, but you can using E and python
!!/run `import time;time.sleep(1)`E
[@lyxal: 59613536]
0

STDERR:
'integer_contents'
Most recently popped arguments: ['import time;time.sleep(1)']
Final stack: []
lol
Obviously, it won't work online
Oh, safe mode
Correct
23:28
Can't we use pwntools' safe eval?
It is
It's only literals and stuff
No function calls
Oh, isn't it safe for general evals?
I don't know
But we're moving away from pwntools anyway
@lyxal how to define x equals top of stack using python exec?
Ah
23:32
Is that possible?
@Fmbalbuena you don't need to
→x assign top of stack to x
But... In python code?
Like
`x = pop(stack)`E
But you manipulated the variables of code
So you'd want to prefix the variable name with VAR_
`VAR_x = pop(stack)`E
23:36
Like `tokens = float("inf")`E
That can work too
Although I'd avoid that in general
How it works without erroring?
Ah bulid python self-interpreter
Run it offline using the v2.4.1 release
No, Vyxal's written in Python, but it's disabled for the online interpreter for safety reasons
23:38
But I use mobile chatroom. I use the desktop later.
So that bad people can't run any python they want on the site, arbitrary exec is disabled online
Huh?
I honestly don't know.
Oh crap I edited the release description
@lyxal how you disable like exit() or int("a")?
23:40
That really shouldn't run on edits too lol
1 message moved to ­Trash
@Fmbalbuena the online transpile knows to use safe evaluation online
Because it has an internal flag that disables using pythons exec
I made a small edit too
What small edit?
1 message moved to ­Trash
@Fmbalbuena just to the release notes
I have become Italian
23:43
Editing release notes pins the release
Like that
1 message moved to ­Trash
Mind your language
@hyper-neutrino did you see what happened?
:59613692 I was kidding about you using Italian, you didn't have to delete that lol
23:45
@hyper-neutrino v0.4.1 was released last year, but editing the release notes makes it seem like it was released today
Is there any way to distinguish between the webhooks for new releases and edits?
@lyxal i'll fix that later
Cool cool
Anyhow, I gotta go for now
I'll be back in maybe an hour or so
/o
i said "what" because of user becoming Italian
23:46
!!/bye
@lyxal o/
@hyper-neutrino Lyxal italicized my username in the release
Thus, I became Italian
23:48
I am now one of the superior people. I can talk with my hands and make lasagna pizza at the same time :P
> lasagna pizza
I dream of one day opening up the menu at Domino's or someplace else and finding that there :P
And before you ask, "Why don't you make it yourself?", I must tell you that I'm lazy and incompetent :P

« first day (577 days earlier)      last day (1198 days later) »