« first day (4008 days earlier)      last day (821 days later) » 

1:00 AM
Give up
@WheatWizard Können Sie deutsch? weil du in deutsch lebst.
 
@lyxal I’ve got a cheaty 4 byter
 
@AaroneousMiller if it uses K then it isn't cheating
 
It doesn’t
 
Oh
You're a nerd then.
 
lol tru dat
 
1:09 AM
I have 3 with K
 
see what I mean?
 
This LYAL seems more active than usual.
 
We’ve been prepping for a while
 
And Vyxal has an active userbase, unlike most other languages in LYAL
 
@AaroneousMiller Yeah, we've had a planning team for a month now too lol
 
1:11 AM
I also have 4 bytes without K
 
so, how do I go about learning me a lang for great good today?
 
!!/info
 
@lyxal my cheaty 4 byte:
 
@Nitrodon If you prefer self paced learning I'd recommend the tutorial and vyxapedia
 
1:12 AM
!!/run ⁺∴CĖ _ 5
 
@AaroneousMiller 1
 
@Nitrodon But I'd be more than happy to teach you here if you want
@AaroneousMiller wow. What a nerd.
That's a very roundabout way to do it lol
 
I have a non-cheaty 4 bytes: md5 is 37ecd4dd908477411f9b96483cc53370
 
My md5 for a 4 byter is cb099b99f56959c6c9b2138c3ad5089f
 
1:14 AM
and what if my keyboard doesn't have most of those characters?
I'm pretty sure it doesn't.
 
The online interpreter has an on screen keyboard you can use to insert characters
 
@Nitrodon abrudz.github.io/lb/vyxal has got you covered
 
That too
 
It's an on screen keyboard that can be used anywhere
Anywhere being any website that supports js
 
@lyxal 404
 
1:16 AM
@AaroneousMiller it's actually case sensitive? Wow.
 
Idk maybe it’s cause I’m on mobile or smth
 
No I get the 404 too when the link has upper-case v
 
Oh, well ok then
 
It works with a lower case v
 
¯\_(ツ)_/¯
 
1:18 AM
Hence my surprise at it 404ing
Anyhow, that's enough for the trivial, always asked cmcs
Now for the real fun
VyMC: Given a single positive integer n, return a centred pyramid of asterisks with an increasing odd number of asterisks on each line.
 
I think I'm just lost.
 
I assume a pyramid of height n?
 
@AaroneousMiller correct
@Nitrodon I can help you become not lost
First question: do you know how stacks work?
I'm not being sarcastic or condescending I'm asking so I know where to start with teaching
 
I've done several Brain-Flak golfs, so I'll have to say yes to that.
 
@lyxal Vyxal, 8 bytes: (Try It Online!)
 
1:22 AM
Good, good
 
with flags, Vyxal C, 5 bytes: (Try It Online!)
 
@Nitrodon and have you used any other dedicated golfing languages?
 
no
 
alright then, let's get started
so the first thing to know about vyxal is that it is stack based
things are pushed and popped to get stuff done
to push a number to the stack, you just write that number:
!!/run 4W
 
@lyxal ⟨ 4 ⟩
 
1:24 AM
(the W just displays the entire stack)
!!/run 3 90 23.45 85 12321W
 
@lyxal ⟨ 3 | 90 | 469/20 | 85 | 12321 ⟩
 
Decimals are represented as fractions in Vyxal, hence why 23.45 turned into 469/20
 
@Nitrodon Hm, I had this which would be 7 if vectorised printing worked
 
!!/run 3 5 7+W
 
@Nitrodon !!/run `code` `flags (- to exclude)` `input line` `input line` ...
 
1:25 AM
@lyxal Was that intentional?
 
@emanresuA surprisingly not
@Nitrodon ah, make sure to wrap your code in backticks
 
!!/run 3 5 7+W
 
@Nitrodon ⟨ 3 | 12 ⟩
 
good
as you can probably guess, the + took the top two items on the stack and added them
 
yes, I skimmed the tutorial.
 
1:26 AM
oh, right.
 
@hyper-neutrino I’ve got 4 bytes, and a different 8 byte flagless
 
cool cool
continuing on, Vyxal also has strings
A string is any chunk of text wrapped in backticks
E.g.
 
How do I type strings in !!/run?
I'm already backticking there.
 
But if you want a single character string, you can do \c where c is any character
@Nitrodon Escape backticks with backslashes
 
@Nitrodon backslash then backtick
 
1:27 AM
@AaroneousMiller Is your 4's md5 3b72325800f76d662eec8fc679b161ac
 
`\`string\` more code`
 
Yeah MD doesn't play well with backticked strings
 
will push string, then run more code
 
`\`Hello, World!\``
 
!!/run `Hello world! `2*
 
1:28 AM
@Nitrodon Hello world! Hello world!
 
There's also dictionary compression with øD
!!/run `Hello world!`øD
 
@emanresuA No, I’ve got 7ca6018c32fd897d629df67256f00dad
 
@emanresuA `ƈṡ ƛ†!`
 
but we'll cover string compression a little later
for now, just the basics
@Nitrodon I take it you read about structures such as if-statements and loops in the tutorial
So I'll briefly outline them
[<onTrue>|<onFalse>] pops the top of the stack and executes <onTrue> if the value is considered truthy
otherwise, it executes <onFalse> if it's given
 
The for loop part of the tutorial mentions variables, but I'm not sure how to use those in Vyxal.
 
1:31 AM
→name places the top of the stack into a variable called name
←name retrieves the value of name
→name is equivalent to name = stack.pop()
←name is equivalent to stack.append(name)
variable names can contain letters and underscores
variable names can also be empty
an empty variable name is what is referred to as the "ghost" variable
because it can store things, but it doesn't have a name
!!/run 3→6←+
 
@lyxal 9
 
that puts 3 into the ghost variable, pushes 6, retrieves the value of the ghost variable and adds those two values
so something like (x|<body>) is like writing:
 
underscore prefixed variables are global
 
Is there a reason for the "temp" variable in the tutorial part where it swaps a and b? Why not just ←a ←b →a →b?
 
for x in <iterable>:
    <body>
 
1:34 AM
@Nitrodon Idk where it says that, but you smart
 
Pretty much the last (currently existing) part of the tutorial.
 
@Nitrodon that's to demonstrate variables to people familiar with C style languages
but you're right, temp isn't needed
 
so the first part of the for loop is a variable name?
 
@Nitrodon if given, yes.
 
and it assumes the top of the stack is a list? What if it's not?
(I don't even know how to create a list yet.)
 
1:37 AM
@Nitrodon With a string, over the characters.
With an integer, over 0...n-1
With a fraction or complex number it errors though
 
@emanresuA actually, it's 1...n
 
What about a negative integer?
 
!!/run 5N(n,
 
@emanresuA 0
 
@Nitrodon Does nothing, it appears
 
1:39 AM
@Nitrodon currently it just doesn't do anything because it's iterating over range(0, -N)
which doesn't actually yield anything
that's a bug we'll have to fix
 
!!/run 5(n)W
 
@Nitrodon ⟨ 1 | 2 | 3 | 4 | 5 ⟩
 
Ah, you've found the context variable
good
 
What's the context variable?
 
it's what gets used if you don't provide a loop variable
n
it's also what refers to the argument(s) of lambdas and functions
 
1:40 AM
Correction: Whether you provide one or not
 
!!/run 5(|←)W
 
@Nitrodon ⟨ 1 | 2 | 3 | 4 | 5 ⟩
 
that's using the ghost variable
n is called the context variable because its value relies on it's context
 
!!/run 5(|←)← W
 
@Nitrodon ⟨ 1 | 2 | 3 | 4 | 5 | 5 ⟩
 
1:41 AM
By the way, you can use , to explicitly print things
right now, you've been using implicit printing to display things
implicit printing happens at the end of a program if nothing has been printed during execution
 
so W pushes the entire stack then?
 
essentially
 
!!/run 1 2WW,
 
@Nitrodon ⟨ 1 | ⟨ 1 | 2 ⟩ ⟩
 
it wraps the stack into a sinlgle list
 
1:43 AM
What happened to the 2? Did the first W pop it?
 
there may be a few issues with W because of the way things are handled
 
!!/run 1 2,,
 
[@Nitrodon: 60189035]
2
1
 
so , also outputs a newline then?
 
Yes
 
1:44 AM
Correct
There's a few other printing commands that you can use
 
prints without a newline
@Nitrodon What do you mean? The first W pushes [1,2] to the stack, which is now [1, [1, 2]], which gets pushed by the second W
 
My question was basically "did the first W pop 2 from the stack?"
 
@emanresuA 1 2 makes the stack [1, 2]. W should then make it [1, 2, [1, 2]]
 
As I said, due to a recent rewrite, there may be a few issues with how W works
 
!!/help
 
1:46 AM
@Nitrodon !!/run `code` `flags (- to exclude)` `input line` `input line` ...
 
!!/info
 
@Nitrodon Oh. I got confused too then
 
I have to duck out to have lunch for a bit
@emanresuA are you good to continue teaching?
 
I can try
 
1:48 AM
I believe in you
BRB in maybe 10 to 30 minutes
 
@lyxal emanresu;s never gonna let you down
 
o/
VyMC: Given an integer n, print a pyramid of asterisks separated by spaces of height n
 
!!/run 5:(:n-` `*n2*1-`*`*+,)
 
[@Nitrodon: 60189065]
    *
   ***
  *****
 *******
*********
 
@Nitrodon Nice!
 
1:51 AM
I think that was for the old challenge.
 
Still, nice job tho
Few things you can do to golf it down:
 
‹ and d, for one
 
Yep
There are builtins for n spaces and an asterisk too.
 
and wasn't there something about \\ for single characters?
I mean \, but I assumed chat would escape stuff
 
Yeah, but you don't need that here
@Nitrodon Chat markdown is weird
 
1:53 AM
``\``
 
@emanresuA I pushes n spaces given n as an integer, and × pushes an asteriisk
 
I think it's backtick backslah backtick that's impossible to output in a single line chat message
 
!!/run 5:(:n-ðnd‹×*,)`
 
@Nitrodon !!/run `code` `flags (- to exclude)` `input line` `input line` ...
 
... Did I forget the leading backtick? It was probably wrong anyway.
 
1:54 AM
@cairdcoinheringaahing nope, it's something else
 
@cairdcoinheringaahing `\`
it's `\ that's impossible
 
!!/run 5:(:n-ðnd‹×*,)
 
[@Nitrodon: 60189092]
*
***
*****
*******
*********
 
Not quite
 
!!/run 5:(:n-ðnd‹×*+,)
 
1:55 AM
[@Nitrodon: 60189097]
 *
 ***
 *****
 *******
 *********
 
No, backslash backtick I'm wrong
 
!!/run 5:(:n-Ind‹×*+,)
 
[@emanresuA: 60189100]
    *
   ***
  *****
 *******
*********
 
!!/run \a5ð\a++
 
@Nitrodon 5 a
 
1:56 AM
ð pushes a single space
 
oh right, ð is just a space
 
@hyper-neutrino Isn't it backtick backslash in code formatting that's impossible?
 
I pushes n spaces when given an integer
so yeah
 
ah... I was confused
 
Three more things I can see to do:
 
1:58 AM
!!/run 5:(:n-nd‹×꘍,)
 
[@Nitrodon: 60189114]
 *
   *
     *
       *
         *
 
I keep forgetting to put in commands.
 
Nice, you found !
 
!!/run 5:(:n-nd‹×*꘍,)
 
[@Nitrodon: 60189118]
    *
   ***
  *****
 *******
*********
 
1:58 AM
@cairdcoinheringaahing isn't that what i said lol
 
Two more things then
 
@hyper-neutrino specifically in code formattingis what I specified :P "`\" is trivial to output :P
 
yeah like, code formatting `\ in-line is impossible is what i meant
 

« first day (4008 days earlier)      last day (821 days later) »