« first day (422 days earlier)      last day (1353 days later) » 

05:10
2
A: "Hello, World!"

UnderslashRisky, 64 bytes \22+\222]+]2:+1+:++!:++2:+*+1+0+[-*-*+02]+]2{*+++**+}+0!:+*+1+0+:+*+1+!!:+++0+0+:+0+0+0!{*++1+0+]+]+]+]+]+]+]+]+]+]+]+]+]+]+]+] Try it online! This is a new language made by @Redwolf Programs. My explanation wouldn't do it justice so heres the Docs. Explanation: Takes the various...

I'm so used to Vyxal that I keep reading this answer wrong
@Ausername how's Jyxal coming along?
Work in progress.
@Ausername Jyxal?
I'm three-quarters done on configuring structures
@Wasif Vyxal in Javascript.
Btw can I fix the element-counting in minilambdas?
Sure
Transformers will take care of it anyway
05:32
slaps face I forgot to do a global replace :p
Well done.
Fortunately, Vyxal strings are valid JS strings, so all I need to do is eval them :p
@Ausername Because of the way I configured modifiers like k, ø, v etc it actually fixed itself :p
06:03
Also because of that, you can have things like vßß⁽ßv⁽⁽⁽ßßvvvvøm treated as one element.
06:13
Can we fix string decompression with single unicode characters in the main version?
I.e. ø returns itself because there is no other character to match it to?
@Ausername example?
I understand how works now - you dupe the stack, apply one on the stack, apply the other on the stack dupe, and append the top of the dupe to the main stack.
@Ausername pretty much.
And with basically the same thing but you pair them afterwards
@Ausername it's literally just ₌<element><element>"
06:31
Yep. I'm half copying what you've done, and half making it up as I go. Jyxal is going to end up like GCC - A lot of undefined behaviour.
Like the multiple conditions in a while loop.
mmm wonderful
That actually could turn out to be useful at some point.
I think it's starting to become slightly tacit.
32 mins ago, by A username
Also because of that, you can have things like vßß⁽ßv⁽⁽⁽ßßvvvvøm treated as one element.
 
1 hour later…
08:01
Very well done
A lot of stuff is just handed to the compiler tho. For example, the CHAR token is anything that matches [vß⁽]*[→←vß\⁽¨ø∆kÞ⁺]?.
08:42
09:06
Is this Jelly or something?
Also, you know when I said I had finished the tokeniser? I completely forgot about named functions :p
How do @name:variable|code; and @name:argument_list|code; work?
Apr 24 '20 at 7:59, by Lyxal
Before Vyxal, functions were written like so:
@Ausername no, silly, that's some of my planned Transformers
So just parsing the other three is fine for now?
Which other three?.
@name|code; , @name:number_of_arguments|code; and @name;?
Also with @name|code;, does it take the no arguments, the whole stack or just what it needs?
No args
@Ausername @name:var:var:number|code;
@name:var|code;
09:21
So @name:2:var|code would take two arguments to the stack, and one stored in the variable var?
Also I just realised I completely mistokenised variables 'cos I thought they were 1-character.
Tokenisation is not done by any means.
Can variables have uppercase/numeric characters?
Letters and underscores
@Ausername correct
@lyxal So uppercase but no numeric
@Ausername correct
Upper, lower and _
09:37
Ok variable tokenisation is fixed
Btw it's been a while, do you think you're going to release v2.4.0 soon?
Also what went wrong with Heroku?
Would @x:2:var:1|code; take two into the function's stack, one into the variable var, and then one more into the function's stack?
@Ausername yes
Ok
this could actually be quite useful.
10:11
Just checking, °...; pushes the referenced function to the stack right?
10:37
@Ausername correct
 
2 hours later…
12:27
₁ƛ₃₅ωkF½*∑⟇ is the new buzz
not much has changed except a single byte lol
12:53
Also, I'm re-doing the docs (again)
λ                          = lambda
ƛ                          = lambda that automatically gets mapped
¬ any → num                = logical NOT (non-vectorising)
∧ any, any → num           = logical AND
⟑ any, any → num           = logical AND with reverse arguments
∨ any, any → num           = logical OR
⟇ any, any → num           = logical OR with reverse arguments
÷ num, num → num           = a / b # division
  num, str → [str]         = b split into a even length pieces. There may be an extra part if the string is too long.
that's all for now
o/
@Razetime @hyper-neutrino @UnrelatedString @AaronMiller @Ausername @Underslash @user @wasif what do y'all think of the potential new commands format? Should I stick to the original version or use the new one?
(i really need an easy way to ping everyone)
make a ping bot :p
i like this
Better?
so would swap have signature any, any -> any, any?
Yes
nice
yeah i think this makes sense
13:09
Which do you prefer? (cc everyone)
i like this one better since it is pretty clear that the first pop is a and the second is b
and the current one doesn't really indicate the type of the push
I'll see what the rest of vygang has to say. Thanks for the feedback!
Bye for now o/
13:37
@lyxal I like it
maybe change from → to -> becauseunicode looks messed up on phones
13:56
yeah I agree with ^, also makes it a bit easier to search
 
1 hour later…
15:05
Looks pretty good, bit like Haskell, so less boilerplate
15:45
@lyxal You can modify this userscript
 
4 hours later…
19:33
The problem is you're not defining a and b,
20:05
@lyxal I think it is good, but might be a bit clearer if you wrap the arguments with parens, ie: (any, any) -> String or something similar
"vygang"?
@Ausername That is a bit of a problem
How about ÷ any a, any b -> num if there's confusion about which is a and which is b?
@lyxal Regarding deltas, row sum, and similar functions, four scanl, scanr, foldl, and foldr operators would be nice, so you'd be able to do those two in two bytes even if there isn't a special function for deltas or whatever
If it's alright with you, can I start implementing some of these functions? (I won't add them to the actual list of commands, just make python functions in Vyxal.py that can be used later)
 
2 hours later…
22:10
@user there already exists deltas and folding, but for everything else, go right ahead
Great
22:34
I wonder if you could make an operator to prevent vectorization. Then Ė could be used for matrix inverse instead of just vectorizing reciprocal
4am golfing moment
22:59
@user jokes on you because I've already decided to add a transformer that does just that
Nice!
I'm working on a row sum function. Do you want it to handle non-2D input?
Also, does Vyxal have "reduce rows" or "reduce columns"? I can try adding those while I'm at it
@user isn't that just Vectorised sum?
Yes
@user no, it doesn't
I would appreciate that
@lyxal Yep, I meant to ask about column sum too (although that's harder :/)
Oh just a clarification: my features list is for the experimental branch/v3
Yep, that's the one I'm working on right now
23:15
@user how about this?
λ                              = lambda
ƛ                              = lambda that automatically gets mapped
¬ any a -> num                 = logical NOT (non-vectorising)
∧ any a, any b -> num          = logical AND
⟑ any a, any b -> num          = logical AND with reverse arguments
∨ any a, any b -> num          = logical OR
⟇ any a, any b -> num          = logical OR with reverse arguments
÷ num a, num b -> num          = a / b # division
  num a, str b -> [str]        = b split into a even length pieces. There may be an extra part if the string is too long.
@Ausername @Underslash ^
That looks great
I think you can probably omit the a and b where it isn't unclear (like ¬ any -> num and ∧ any, any -> num, which are unary / commutative)
@user I think I should be consistent about it though
Fair enough
23:53
∧ (any a, any b) -> num = logical AND
⟑ (any a, any b) -> num = logical AND with reverse arguments

i still think something like this would be better to look at
λ                                = lambda
ƛ                                = lambda that automatically gets mapped
¬ (any a) -> num                 = logical NOT (non-vectorising)
∧ (any a, any b) -> num          = logical AND
⟑ (any a, any b) -> num          = logical AND with reverse arguments
∨ (any a, any b) -> num          = logical OR
⟇ (any a, any b) -> num          = logical OR with reverse arguments
÷ (num a, num b) -> num          = a / b # division
  (num a, str b) -> [str]        = b split into a even length pieces. There may be an extra part if the string is too long.
like that?

« first day (422 days earlier)      last day (1353 days later) »