« first day (1105 days earlier)      last day (668 days later) » 

01:56
@AndrovT awesome, that makes life much easier
02:37
!!/amilyxal
@lyxal You are lyxal.
@VyxalBot if you say so
 
5 hours later…
07:20
!!/amilyxal
@TheThonnu You are not lyxal.
07:32
Okay so I think I'll try removing the implicit conversion and see if that fixes anything later tonight
Because maybe something is being a bigint or something where it shouldn't be
But I think it might be something to do with the predictions function
Because it does the first loop just fine exactly the same and then starts deviating from the python results
Also, we might need a new name for vycoder
Mfer really named like a compression algorithm
... why is that an issue?
It's not like we're creating a separate account
I want our compression algorithm to come up when searching for it
Not someone else
07:51
sigh
I found the bug
It's stupid
  .map((a, b) => distanceWeight(BigDecimal(i)) * (a + b))
That's the problematic line
out = [distance_weight(i)*x + y for x, y in zip(positions[i][lst[-i-1]], out)]
That's the original python
Turns out I forgot how operator precedence works
x * (y + z) != x * y + z
I have fixed this now
Haven't tested because mobile but should be equivalent now
08:36
nayakrujul created branch anti-diagonal-patch in Vyxal/Vyxal
nayakrujul opened pull request #1721 (Make anti-diagonal (Þ) not error for an empty list) in Vyxal/Vyxal
09:00
Lyxal approved #1721 (Make anti-diagonal (Þ) not error for an empty list): "I am clearly very good at programming. The best. Obviously. "
nayakrujul enqueued pull request #1721 (Make anti-diagonal (Þ) not error for an empty list) in Vyxal/Vyxal
nayakrujul merged pull request #1721 (Make anti-diagonal (Þ) not error for an empty list) in Vyxal/Vyxal
Lyxal deleted branch gh-readonly-queue/main/pr-1721-ef5bc19cc4b3aa92655ce3142649f296ff70e7ca in Vyxal/Vyxal
nayakrujul deleted branch anti-diagonal-patch in Vyxal/Vyxal
09:20
Silly idea but what if vycoded programs were encoded several times?
Like take the output, vycode that and rinse and repeat
On mobile so I can't test, but I wonder if that would work
And by how much could multi layering shorten stuff
Have you tried zipping a zip file?
(as I understand it) that'd basically be changing it from common digraphs to common trigraphs
Compression relies on noticing and exploiting some pattern. After the first round of compression there is usually no pattern left or it is much harder to use after the compression than in the original compression algorithm.
09:37
^
and repeated compression probably also makes it way less stable for novel inputs
since whatever patterns it might find in the compressed output aren't necessarily going to be anything more than flukes
10:34
As I said, a silly idea :p
10:51
The most obvious way to improve the compression is to make the prediction model more accurate. One idea is to make Vycoder understand Vyxal syntax. For example ; can only be after one of λ ƛ ¨Z ⟑ ' µ ¨2 ¨3 ¨₂ ¨₃. Compressed literals should also be excluded from the compression.
Oh also digraphs should ideally be one symbol for Vycoder
11:12
How would that work?
Extend the code page to contain a list of digraph characters and lex digraphs as one thing in the data?
Right now vycoder does roughly this:
Vyxal codepage -> numbers 0..255 -> encode
what you want is:
Vyxal code -> lexer -> numbers 0..n -> encode
11:36
:+1:
I'll look into that once I get the scala working
12:24
so turns out that while the precedence thing was an issue, it wasn't the only issue
it's still not matching
12:49
github.com/Vyxal/Vycoder-Scala/blob/… this should be positions(j.toInt)(row((i - j - 1).toInt).toInt)(row(i.toInt).toInt) += 1
@lyxal ^
oh
oh ffs
can't believe I've done this
almost there
now there's just one last thing wrong with the bits generated :p
1 2 3 4 5 6 7 +++++ comes out at 123 bits normally, 135 bits with the scala port
but the bottom and top calculations are correct
what are the exact outputs?
normal:
010010000111010010000011100111001001011101001101001010001110101111111001100110101101100100001000001111111110000100101101111
scala:
010010000111010010000011100111001001011101001101001010001110101111111001100110101101100100001000001111111110000100101101111000000000000
hopefully it's just type conversion problems
github.com/Vyxal/Vycoder-Scala/blob/… => for i <- 0 until (bits - (top - bottom + 1).bitLength) do out += 0
I don't know what I'd do without you :p
thanks!
actually, thanks for all of this! I really appreciate the effort you've placed into vycoder and the patience you have with helping me make a version that can be used for the web :p
there we go
works a charm :p
time for me to write the js bridge part
luckily that's just copying the v3 js code and changing it a little :p
bridge is working good
I might start on the decoder then
13:37
well the js works
it's a tad slow, but that's to be expected of js
at least the byte count can be determined online
even if the live count is a little slow
Tomorrow I will take the js generated by scala.js and connect it to the site (locally) as well as the python
"but lyxal how do you call js from python?"
there's a library for that
Apr 24 at 9:05, by lyxal
https://pypi.org/project/Js2Py
I'd like to thank everyone (Androv, user and steffan) for helping out with the process
y'all are the big brain geniuses that keep this project going
all of y'all are (not just those who've helped with vycoder)
Hey maybe the website can preprocess bit strings to save the server some time
So like if you press run, it automatically converts before sending a request
It'd strip the flags too
And the flags in the interpreter code would only run offline
 
10 hours later…
23:35
Should we propose adding Vyxal to Exercism?
We could just post on forum.exercism.org and if they agree then I suppose we can be track maintainers and work on itt
Someone sstarted on github.com/exercism/05ab1e but no one is doing anything rn
I'm for it if it's allowed
Anyone can propose a new track
There's also a discord but the forum is better to discuss that type of thing

« first day (1105 days earlier)      last day (668 days later) »