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

12:43 AM
What happened to static stuff?
 
In the new branch, all the static stuff is gone
 
¯\_(ツ)_/¯
 
1:25 AM
we'll put that in as we get more developed
 
1:56 AM
hyper-neutrino pushed a commit to Vyxal/Fresh-Beginnings: add lexer spec
 
@lyxal when you have the time, could you take a look at ^ and let me know what you think? I'm unsure if you like the idea of having few token types and having the parser determine what to do with structures later on, but I can extend the spec to make the tokenizer do extra work if you think it would make working with it easier
 
@hyper-neutrino should there be tokens for LSQUARE, RSQUARE, LPAREN, RPAREN, LCURLY, RCURLY, SEMICOLON?
that could maybe make parsing somewhat easier
 
I don't think those should be token types and the parser can just check if a token has type OTHER and value {
 
okay then, sure
and how about function parameters
 
I could make it do that, but from the way I usually do the lexer-parser part, it would probably be fine
 
1:59 AM
should they have their own token?
 
@lyxal oh like arities? or wdym
 
@hyper-neutrino @name:1|...;
@name:varX:varY:varZ|...;
 
@name:varX:4:varY|...;
that sort of thing
@name|code;
@name:number_of_arguments|code;
@name:variable|code;
@name:argument_list|code;
@name;
more generally ^
 
wait, so what does @name:a:2:b|...; mean
 
2:01 AM
pop into local variable a, pop 2 items into the function stack, pop into local variable b
 
ah
so function parameters do not go into the stack itself
 
variables don't
the numbers do
 
or sorry i meant named variable params
what happens if we encounter non-alnums before the |?
for example:
@ab+cd+ef:gh-ij:5:kl×mn|...;
 
ignore the sussy chars
 
it would be easy to just allow those to be valid, since then function call and function reference can also just wait until they find a ;
 
2:03 AM
that's what I meant
 
strip the sussy chars
that's what happens now anyway
 
oh get rid of them? okay
cool :+1:
and [A-Za-z_] is valid for variable names right?
 
yes
 
cool ty
 
2:04 AM
30 secs ago, by lyxal
that's what happens now anyway
at least that's what happens with for loop vars
not so much with functions
but that's what i want
 
mm okay
 
 
ah
right i forgot about the whole transpilation thing lol
 
because that's a third, less explicit design goal of Vyxal: being good with if need be
 
2:06 AM
heck, for a good while, you could use any bracket to close any structure
 
lol
oh yeah what should that do
like encountering unopened close-statements
 
!!/run 5 [`hey wait`|\this is sussy`)
 
@lyxal hey wait
 
@hyper-neutrino ignore them
 
2:07 AM
olol
 
less error = better
 
good idea
 
!!/run 5 ]
 
!!/run ⟨1|2|3] 1+
 
@UnrelatedString Did you forget to put backticks around your code (`code`)? Remember to escape any backticks in your code (to type `hi`, enter `\`hi\``).
 
2:07 AM
so | encountered where it wouldn't make sense should also just be ignored, I assume
 
@lyxal ⟨2|3|4⟩
 
@hyper-neutrino correct
 
!!/run ]
 
@UnrelatedString (output was empty)
 
2:08 AM
yeah that seems broken currently
 
thonk
 
then again, the server is running 2.4.1
chances are I fixed a lot of this in 2.5.0/2.5.1/2.5.2/2.5.3
 
what i'd say unmatched closing brackets should do might be to just auto-complete an opening bracket on the left end but that mgiht be a biiit not easy to implement parsing wise
 
shouldn't be that bad although there are a lot of weird ambiguities we'd need to sort through
 
2:49 AM
What should something like λ[`false`|`true`; do?
 
I would say "close the lambda and if-statement" but then one could make the argument to say "just let ; be a generic closer and have the ]}) close certain numbers of structures"
 
3:46 AM
Lyxal pushed a commit to Vyxal/experimental: Yes
 
3:57 AM
Fun fact: I'm currently writing a specification on structure types
 
poggers
 
Lyxal pushed a commit to Vyxal/Fresh-Beginnings: Create Structures.md
 
4:18 AM
Remind me to add a flag that makes lists truthy if any item is truth in v2.6.0
 
Lyxal pushed a commit to Vyxal/Fresh-Beginnings: Update Structures.md
 
!!/issue Flag for alternate list truthiness behavior Flag proposal: lists are truthy if any item is truthy (as opposed to if they are non-empty) enhancement
 
Vyxal-Bot opened issue #197 in Vyxal/Vyxal: Flag for alternate list truthiness behavior
 
!!/run 10(n,)
 
[@lyxal: 58707328]
STDERR:
[POST /execute] returned 500
 
4:21 AM
oh
wow
oh
oh i see what's happening
 
the, uh, webhooks for auto code updating are still firing
and that's screwing up the flask app
 
because I had to rollback git
ez fix
just disable the hook for onw
!!/run 10(n,)
 
[@lyxal: 58707349]
0
1
2
3
4
5
6
7
8
9
 
4:26 AM
!!/run 6.9(n,)
 
[@lyxal: 58707357]
0
1
2
3
4
5
 
okay i see
good
 
Lyxal pushed a commit to Vyxal/Fresh-Beginnings: Update Structures.md
 
!!/run 5 {:0=0=|n,1-}
 
[@lyxal: 58707385]
0
0
0
0
0
 
4:32 AM
hmmm
!!/run 1 [n,]
 
@lyxal 0
 
aha
interesting
 
5:10 AM
@lyxal can you provide a complete list of situations where token grouping needs to happen? so far i have @...|, @...;, °...;, (...|, →A-Za-z_..., and ←A-Za-z_...
 
that'll be what the structure specifications do
but i'm pretty sure that's all that needs name grouping
 
ok ty
just need to know since the tokenizer needs to do that
should backticks within a name specification just be dropped out?
 
depends
functions/for-loops? yes
variable names? well, the grouping stops there
 
right
wait hold on
for loops don't need a variable name, do they
 
correct
it's optional
 
5:13 AM
er that's really annoying
 
!!/run `lyxal`3(fKf∑
 
because now not only does the lexer need to retain a state of what it's seen
 
[@Ausername: 58707476]
llllllllllllllllllllylllllyllllllylllllllyllylllllyllyllllllyllylllllllyllyllllllllyllylllylllllyllylllyllllllyllylllylylllllyllylllylyllllllyllylllylylllllllyllylllylyllylllllyllylllylyllyllllllyllylllylyllylylllllyllylllylyllylyxlllllyllylllylyllylyxllllllyllylllylyllylyxlllllllyllylllylyllylyxllylllllyllylllylyllylyxllyllllllyllylllylyllylyxllylylllllyllylllylyllylyxllylyxlllllyllylllylyllylyxllylyxllllllyllylllylyllylyxllylyxlllllllyllylllylyllylyxllylyxllllllllyllylllylyllylyxllylyxlllylllllyllylllylyllylyxllylyxlllyllllllyllylllylyllylyxllylyxlllylylllllyllyllly
 
it also needs to scan all the way ahead and possibly understand the parse structure
 
just concatenate everything in the variable name branch
 
5:14 AM
wdym
 
like (abc|...) will turn into (, a, b, c, |, ., . , ., ) right?
 
okay so how do you handle (k|...)
 
ooh
good point
hmm
k| would be it's own unit anyway
that would be as if you had no variable name
 
so (, k|, ., ., ., )
 
5:16 AM
so you can't do like (ak| 1 ←ak + ,) either
 
Jyxal's lexer does that pretty much
 
@hyper-neutrino (ak |...) maybe
 
it might make more sense to just parse the code directly at this point
is the intended behavior of (ak|...) to be a variable-less for loop with k| as an element?
 
simple solution: never assign | as a digraph
 
wait what to do with V flag in loops?
 
5:18 AM
that doesn't sound like that simple of a solution tbh but
like what is the intended behavior
 
I guess just hope it doesn't happen
 
the implementation details are somewhat less important than making sure whatever behavior is intended is seen
 
between either treating it as k| or variable k, I prefer treating as variable k
 
same. okay ty
but should k| be valid as a digraph in other places or should we just say that'll never happen?
and if so, what should the program like a b k| c d do
 
@hyper-neutrino just say that will never happen
never use | as a digraph
 
5:20 AM
okay
you also run into another problem
 
The only place you need forward-references are (...| and @...|
 
there is a codepage digraph that doesn't really assign a meaning it just grabs the character and gets it as a codepage index
wait actually that character isn't a valid variable name anyway so we can just not care
same with \ i suppose
 
correct
 
hm... this feels a bit peculiar but it'll probably work out
also does anyone even use named for loops or named functions
 
5:22 AM
not really
 
I used a named function once
 
@hyper-neutrino but it's a feature that makes this whole language unique
 
true
 
well ik i am just wondering
 
Does Jelly have any sort of structures?
 
5:24 AM
i am not in any way advocating removing them lol
@Ausername no
there are chain separators which cannot nest and postfix operators (which I believe lyxal was adding / has added)
jelly is strictly a golfing language and has no features similar to conventional practical languages
 
Something like Jelly's ¡ would be nice for Vyxal
 
that's just a for loop
 
True
 
not exactly
ntimes on a dyad will keep moving the previous iteration value to the other argument, essentially operating like a "fibonacci-like sequence"
1 ,3¡ 2 returns [[[1, 2], 1], [1, 2]]
 
!!/run 1 1 5 (~+)W
 
5:28 AM
the first iteration gives `[1, 2]
 
@lyxal ⟨1|1|2|3|5|8|13⟩
 
oh
well never mind then
 
Oh yes ~
 
what does ~ do
 
don't pop
 
5:29 AM
hm
 
!!/run 1 1 ~+W
 
@lyxal ⟨1|1|2⟩
 
!!/run 1 1+W
 
@lyxal ⟨2⟩
 
Don't pop for dyads, filter for monnads.
 
5:30 AM
!!/run 1 1 5 (~λ2|+;) W
 
@hyper-neutrino (output was empty)
 
undefined for nilads and triads
 
@hyper-neutrino v2.4.1 uses the old parsing scheme where it only took the next character
 
did we decide what to do with λ(; and (λ), etc
 
#1 is a cat lambda. #2 is a lambda in a loop
 
5:37 AM
close every structure inside
 
5:49 AM
11 mins ago, by lyxal
close every structure inside
I'll finish the structure specs later tonight
Because I really should do some uni work now
!!/goodbye
 
@lyxal o/
 
!!/ morning
 
@math hello to you too!
 
oh nice didn't know that was a command
 
!!/!!
!!/!!/flowey quote
!!/flowey quote
 
5:59 AM
@Ausername Don't worry, my little monarch, my plan isn't regicide...this is SO much more interesting.
 
!!/hellO
 
@PyGamer0 hello to you too!
 
!!/run h
 
@PyGamer0 0
 
!!/run 102910-29(10+[2|h](!)!)
 
6:11 AM
@PyGamer0 58
 
wow
 
7:03 AM
VERY IMPORTANT: Random choice from an integer generates a random integer between 0 and said number, counting range-modification flags. Manual ranging costs bytes and doesn't finish within the lifetime of the universe for larger inputs..
 
7:29 AM
you could just scale the random choice, right?
 
 
4 hours later…
11:56 AM
Lyxal pushed a commit to Vyxal/Fresh-Beginnings: Update Structures.md
 
12:23 PM
!!/flowey quote
 
@lyxal Hehehe... did you REALLY think you could defeat ME?
 
dang
I really thought someone pinged me
but it was only vybot
 
12:43 PM
Lyxal pushed a commit to Vyxal/Fresh-Beginnings: I, Lyxal, have made a horrible joke that I'll probably end up regretting.
 
!!/flowey quote
 
@lyxal Hehehe... did you REALLY think you could defeat ME?
 
there
it's balanced
!!/flowey quote
 
@lyxal No...NO! This can't be happening! You...YOU! You IDIOT!
 
what a troll
 
12:51 PM
Lyxal pushed a commit to Vyxal/Fresh-Beginnings: Update Structures.md
 
@hyper-neutrino I think the current version of Structures.md is mostly compelte
*complete
 
@lyxal could you help me a bit with gpt-3?
 
what would you like help with?
@math ^
 
1:16 PM
how useful are variables ?
i wanna know
(i need to see a cgcc answer)
!!/run 4|33$
 
@PyGamer0 4
 
@lyxal i'm back so you use pipeline right?
 
@math pipeline?
 
transformers
no?
 
transformers?
 
1:19 PM
pytorch?
 
for what?
oh
oh you mean for the AI stuff
 
gpt-3
yes
 
they have an API
only OpenAI has gpt-3
they also have an online playground
where you stick a prompt in and it completes it
 
okay
 
 
1:22 PM
wow
 
 
nice, but unfortunately not true
 
 
what's that?
 
because you actually need an invite first
they need to accept your application
 
1:26 PM
oh okay
in that time I'll try out gpt-neo
 
hence why I say it took a month for my access
also,
Once upon a time, there was a code golfer named Math. He was an expert at identifying the weak links in some of the most widely used algorithms. In one case, he was able to find a vulnerability in the encryption algorithm used to protect the Internet against rampant eavesdropping that resulted in the exposure of the private data of millions of people. When others tried to replicate his work, they found the same weakness but were not able to replicate his success. For a time, it seemed as though Math had found a “bug” in the algorithm.
Once upon a time, there was a code golfer named Math. is what I gave it
 
that's not me!
but well done, gpt-3
 
!!/'night
 
@lyxal o/
 
@lyxal wait
is that really gpt-3?
oh nvm
 
1:43 PM
It is, but it hooks up with your api key lol
It's basically just the OpenAI playground but with built-in dark mode
Anyhow
I'm off to sleep for real this time
!!/'night
 
@lyxal o/
 
2:20 PM
@lyxal how should mismatched structure closing tokens be handled when there is no structure to close?
For example, [@abc] should close the @... (with a ; presumably) but what about @abc]? should it close the @ and then drop the ] because it's unopened, or should it treat it as a regular non-identifier character and continue parsing the name?
 
I would suggest treating it as an implicit opening (@abc]foobar becomes [@abc]foobar)
Making it an error, making it part of the name, or skipping over it doesn't make sense
 
so does (] complete to ([])? (the other way around would be confusing and hard to implement imo)
 
like the keta challenge? i doubt it
 
@hyper-neutrino Hmm, that's an interesting one. It should complete to ([]) but what rules would the interpreter have to use for that?
 
2:36 PM
wdym
 
Like, how would the interpreter know to use ([]) and not [(])?
 
it has to close the brackets in a way that makes sense obviously
see question: keta bracket autocompletion
 
2:51 PM
lol it's by lyxal
13
Q: Keta Bracket Autocompletion

lyxal Special thanks to Bubbler and AdmBorkBork for supplying feedback about this challenge Keta (Keyboard tacit — clever naming, I know!) is a golfing language I’ve been working on recently. One of it’s features is it’s most probably unique bracket autocompletion system, which will hopefully allow f...

 
3:25 PM
keta is the opposite of what I was proposing
 
3:56 PM
Oh
 
 
2 hours later…
5:37 PM
It's just spinning forever.
 
!!/run kH
2021-07-25 17:45:51,057: Exception on /execute [POST]
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/flask/app.py", line 2446, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/lib/python3.7/site-packages/flask/app.py", line 1951, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/Lyxal/.local/lib/python3.7/site-packages/flask_cors/extension.py", line 165, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
the bot is gone too lol
 
PythonAnywhere problems?
 
!!/run kH
 
[@hyper-neutrino: 58710599]
STDERR:
[POST /execute] returned 500
 
2 messages moved to ­Trash
 
 
2 hours later…
8:16 PM
@lyxal would it be fine for function names / parameter names to auto-close / automatically move to the second part if they encounter invalid characters?
like make @ab×÷; be equivalent to @ab|×÷; and ab:c:23×÷; be equivalent to @ab:c:23|×÷;, etc
this is a reasonable way to make it work but I want to know what you think - i may just parse the code directly since it should theoretically work
it worked for proton (although debatably that can't be considered "working" in that case :P)
 
 
3 hours later…
11:04 PM
@hyper-neutrino ignore the ]
@hyper-neutrino hmmm, I don't know how I feel about that
My instinct is to say no because restricted source
As in, function names ignoring non alpha chars could be good for those kinds of challenges
 
hm, fair enough
and I guess nobody would use those for golfing anyway
yeah I don't think I'll separate the tokenizer in that case
 
!!/run kH
 
@lyxal Hello, World!
 
11:58 PM
4 messages moved to ­Trash
I think the welcome message should also include something like "type foobar to get a list of this bot's commands"
@hyper-neutrino ^
 

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