« first day (813 days earlier)      last day (962 days later) » 

00:25
@Deadcode Myxal exists, although it's currently not particularly usable currently
@Deadcode Congratulations you've just discovered the reason for version 3
Also, lazyness can be buggy
We're aware that there are problems with some of the design features with version 2,hence why we're making version 3
And hence why that's being implemented in Scala
Btw, revisiting this, I think it should be reasonable possible
But it may lead to false positives, in a way
Like, say, filtering the list of positive integers by those that are less than 10
Like I said in the comments, the 2-byte lambda is not a lambda, but an eager mapping lambda, and it's just a fix for a bug I forgot to report.
00:34
Force eval, right?
Right
Because of LazyList bugs
@emanresuA Although... the interpreter considers this an infinite list
Because you never know, there could be some integer out there less than 10
But you can use takeWhile
@emanresuA i
've been thinking about this too and think you'd just want to mark "known-finite" versus "possibly-infinite"
due to the aforementioned issue
@Steffan It's not a bug, it's just how laziness works
00:36
It gives max recursion error
@UnrelatedString Like a three-way boolean? Known finite, known infinite, and possibly infinite?
guess you could do that too
@Steffan I meant having a separate force eval thing
wdym
it's a bug and we shouldn't need force eval
That's just how lazylists work. If you forced eval when mapping over them, it kinda ruins the laziness
There are for loops for when you want to evaluate everything
00:40
I shouldn't need to force eval
it should accept a LazyList and not crash
The problem is that the internal structure of LazyLists is just really terrible tbh
Oh you mean for this specific thing
nvm I didn't read the entire thing
@Steffan Could you add that as a test btw? We really need to make sure everything is unborked
@Deadcode yeah, version 2 is based on a spec I wrote back when I still didn't fully know what I was doing
Also, if you're up for the task, you could have a look through our planning documents and see what you think
@lyxal It's also descended from Keg :P
00:53
Yee that too
01:10
@Deadcode Myxal lol
C++\JVM port of Vyxal
actually beat C in one challenge
Ooh.
actually, id say its a separate lang, but close enough to vyxal
80% of elements are unimplemented
Yep, Java is a good choice. I've noticed it to sometimes outperform C, perhaps due to automatically parallelizing things that aren't explicitly multithreaded.
@Deadcode We basically have a consensus that strings can be taken as a list of chars: codegolf.meta.stackexchange.com/a/2216/92689
@Steffan Why not use that in all your answers, then?
01:26
Sometimes old chalenges say in the rules that you can't
Idk though
And speaking of which, Vyxal should have a flatten flag. Which converts strings in the input to char lists. Putting f in the Header is not quite the same thing, because programs can still push the original input.
It already has something that's kind of the other end of this, the s flag for output.
Also, is there a good reason for not allowing, for example, ⟨1₀₁⟩ to be equivalent to ⟨1|₀|₁⟩? i.e. allowing nilads to be self-terminating within a list.
By the same token, it should be possible to e.g. use ₍₀*² to both multiply a number by 10 and square it.
@Deadcode Mostly its JIT compilation that makes it fast
@Deadcode I've been considering nilad-dyad pairing in my upcoming golfing language
@Seggan That alone wouldn't make it any faster than C.
@emanresuA Stack-based or tacit?
Inherently stack-based, but overall a weird mixture of both.
It has a jelly-like quick system.
Also, it only has monads and dyads
01:41
you should make it a perhaps-like quick system
 
3 hours later…
04:18
[Discord Relay]
cjquines#0001: i find it very hard to care about golf language speed
[Discord Relay]
cjquines#0001: in my view, the point of using a golfing language to do code golf isn't about making a language that has the fast/best/whatever solution, but about composing built-ins to express a solution in an elegant way
[Discord Relay]
cjquines#0001: a golfing language fails if it cannot express the solution i have in my mind in a straightforward way
[Discord Relay]
cjquines#0001: well… that's not quite it, actually
[Discord Relay]
cjquines#0001: part of the reason i like vyxal is because of how active its development is
[Discord Relay]
cjquines#0001: so many contributors! so many prs!
Thanks for fixing up the frontend
chunkybanana approved on PR #1265 (Vyxal/Vyxal): "This is gonna be very useful. We might want to update teh list at some point"
[Discord Relay]
emanresu#3881: <@190108484069621760> Should we merge the tooltip highlights PR?
[Discord Relay]
cjquines#0001: prefer merge 1257 first
[Discord Relay]
cjquines#0001: er, s/prefer/i prefer if we
chunkybanana merged PR #1257 (Vyxal/Vyxal) (Vyxal:digraph-insertion → Vyxal:main): Add buttons to insert digraphs in tooltips
chunkybanana deleted branch Vyxal/digraph-insertion
[Discord Relay]
emanresu#3881: Done, conflicts have been caused tho
emanresu#3881: WIll fix
[Discord Relay]
cjquines#0001: yeah, i can fix the conflicts
[Discord Relay]
emanresu#3881: You do that, I don't want to stuff it up
cjquines merged PR #1260 (Vyxal/Vyxal) (Vyxal:tooltip-highlights → Vyxal:main): Tooltip highlights
cjquines deleted branch Vyxal/tooltip-highlights
[Discord Relay]
emanresu#3881: Nice!
emanresu#3881: !!/prod
04:38
That don't do be how it is
!!/prod
Vyxal-Bot opened PR #1266 (Vyxal/Vyxal) (Vyxal:main → Vyxal:production): Update Production (2022-07-09)
:/
The discord bot is ... meh
Also, how does the chat relay work?
It's only a relay, what do you expect?
04:40
Lyxal merged PR #1266 (Vyxal/Vyxal) (Vyxal:main → Vyxal:production): Update Production (2022-07-09)
I thought the bot worked a bit better on the discord
At this rate we're gonna have the most overengineered tio site and I like that :p
[Discord Relay]
cjquines#0001: good tooling is how we get more people to use the language!
chunkybanana merged PR #1265 (Vyxal/Vyxal) (Vyxal:add-unicode-tab-completions → Vyxal:main): Add tab completions for unicode chars
chunkybanana deleted branch Vyxal/add-unicode-tab-completions
Merging the tab complpetion
!!/prod
Vyxal-Bot opened PR #1267 (Vyxal/Vyxal) (Vyxal:main → Vyxal:production): Update Production (2022-07-09)
chunkybanana merged PR #1267 (Vyxal/Vyxal) (Vyxal:main → Vyxal:production): Update Production (2022-07-09)
04:44
Admin abuse ;)
05:08
Hopefully our problems with lazylists will be fixed when we switch to a language that actually has good support for it built in
[Discord Relay]
cjquines#0001: unrelated: my wishlist includes categorizing our billion elements into things so it's easier to learn elements other than through search
05:39
@VyxalBot Speed matters, because it allows more ambitious programs to be tested more thoroughly than would otherwise be possible. And allows them to be demonstrated with test harnesses consuming less CPU power. And some things just couldn't be demonstrated in the time limit try-it-online sites have with the language being too slow.
05:49
Example: tinyurl.com/rudolph-Java-v0-62 - My Java implementation of this algorithm takes 3.85 seconds to execute on TIO. But my Pyth implementation of it - codegolf.stackexchange.com/a/198173/17216 - takes 51 seconds for the 129 byte version, and the 126 byte version takes 17 minutes, and obviously can't finish within 60 seconds.
@Seggan maybe you should write a blog "How to make esolangs fast"
 
2 hours later…
07:29
[Discord Relay]
cjquines#0001: very basic vdb demo! https://asciinema.org/a/RcL64tCV28Tqeo4wEb7GP0X1k
4
07:39
Holy frick vyxal debugging
08:20
Speaking of which, we need a nice __repr__ for lazylistts
 
4 hours later…
12:16
@VyxalBot omg
does a golflang really need debugging though?
This one does
We're going all in on niche practicalities for an esolang
We have a custom SE chatbot, github organisation, style guide, syntax highlighter, stylish and highly optimised tool tips, actually mandated PR reviews, 99% automated prod updates, automatic pypi updates and more
So a debugger doesn't seem that much of a stretch for us
It might be if this was Jelly or 05ab1e but we're different
We do the things that significantly improve quality of life
Because when life gives you lemons, you don't make lemonade...no,you give them back to life and demand to see life's manager. We burn people's houses down with the lemons because we make them combustible lemons gosh dang it!
5
[Discord Relay]
lyxal#4610:
@PyGamer0 i was considering writing a post on compilation lol
> A JIT compiler can be faster because the machine code is being generated on the exact machine that it will also execute on. This means that the JIT has the best possible information available to it to emit optimized code. If you pre-compile bytecode into machine code, the compiler cannot optimize for the target machine(s), only the build machine.
@Deadcode also, Myxal is not implemented in Java. Most elements are in Kotlin, with the rest of the program actually being compiled to the JVM
13:29
[Discord Relay]
Seggan#8111: any source/binary you got?
13:42
@Seggan Okay, that makes sense. Nice. So it compiles straight to JVM bytecode?
yep
 
2 hours later…
15:19
[Discord Relay]
cjquines#0001: im working on the vdb branch! let me push my changes
15:46
[Discord Relay]
cjquines#0001: its up
Steffan153 closed issue #1256 in Vyxal/Vyxal: `t` seems to mutate LazyLists
Steffan153 merged PR #1262 (Vyxal/Vyxal) (Vyxal:fix-t-mutating → Vyxal:main): Fix issue where negative indexing into LazyList appends to itself
Steffan153 deleted branch Vyxal/fix-t-mutating
16:09
Why don't we get rid of the repr with the ⟨ 1 | 2 | 3 | 4 ⟩? Especially with nested lists, it's so hard to read. I'm getting tired of putting in P flags constantly lol
16:34
also, re the shortcuts thing, didnt the vyxapedia tio have its own shortcuts? github.com/Vyxal/vyxapedia/blob/main/src/data/shortcuts.json?
16:48
looks like it does, but it's old and outdated
it says it uses the lyxal.pythonanywhere.com API which is the old version
we really need to update vyxapedia
 
2 hours later…
18:46
Steffan153 opened issue #1268 in Vyxal/Vyxal: `⁺` with a character associated with a modifier doesn't work
 
2 hours later…
20:27
Davidebyzero opened issue #1269 in Vyxal/Vyxal: `k≈` and `2ʁ` don't behave the same as `⟨0|1⟩`
chunkybanana opened issue #1270 in Vyxal/Vyxal: Add a nice `__repr__` to lazylists
21:13
⟨0|1⟩→{←₍t∑:→ h?≤|← h,} prints the Fibonacci sequence until reaching the input number, as intended. But why does ⟨0|1⟩{₍t∑:h?≤|:h,} not do so, even though 0{›:?≤|:,} and 0W{›:h?≤|:h,} both print consecutive numbers from 1 up to the input? Am I misunderstanding how while loops work, or did I find a major bug in them?
I guess it looks like the bug is actually in
Steffan153 opened PR #1271 (Vyxal/Vyxal) (Vyxal:fix-nth-fibonacci-vectorize → Vyxal:main): Fix that ∆F vectorizes on ∆f
21:30
And how come k≈:t$∑W:t$∑W:t$∑W keeps calculating the next Fibonacci up each time a :t$∑W is appended to it, but k≈{:h,:h?≤|:t$∑W} and k≈{:t$∑W:h?≤|:h,} print OEIS A002605?
chunkybanana approved on PR #1271 (Vyxal/Vyxal): "Probably my fault :P"
Steffan153 opened PR #1272 (Vyxal/Vyxal) (Vyxal:fix-lazylist-bool → Vyxal:main): Fix boolify on LazyLists when raw_object is exhausted
22:31
Steffan153 opened issue #1273 in Vyxal/Vyxal: `J`/`p` do not preserve the state that a list is infinite
22:42
Actually I guess that's just a subset of #670 but whatever
I'm working on #670. The problem is that everywhere, we just call LazyList(gen()) or use @lazylist, so the infinite state is dropped
@Deadcode it was partly a bug in because of it using bool on LazyLists, but the real prbolem was that LazyList.__bool__ was not working right
but using is what caused the bug
Hmmm.
On another note, why does k≈⁽+dḞ generate Fibonacci? Why is it possible to omit the ; lambda-closer? What is the d doing? For some reason even k≈⁽+2*Ḟ works, and I'm confused because there's no multiplication of 2 in the generation of Fibonacci numbers. What does it mean?
And why is 1⁽+dḞc (1-indexed Fibonacci) much, much faster than k≈⁽+dḞc (0-indexed Fibonacci)?
23:15
@Deadcode is a 1-byte lambda
@Steffan I had a complex overload-based decorator that's partially finished and currently incompatible
@emanresuA um... okay... but that's not an explanation at all
Do you understand why it works, and if so, could you please explain it?
Okay, so that does explain it, thanks.
I was misinterpreting the documentation of , , and ... I thought 1, 2, and 3 were the number of arguments, not the number of bytes of code they took.
@Steffan So is ⟨0|1⟩⁽+dḞc being fast and k≈⁽+dḞc being slow caused by the bug that you just fixed?
23:45
Presumably just that lazylists are slow
@Deadcode Multiplication with a number and a function sets the arity of the function.
So d (double) sets it to two
@emanresuA Yep, got that when I wrote my above reply.
Steffan153 opened PR #1274 (Vyxal/Vyxal) (Vyxal:infinite-lists → Vyxal:main): Preserve infinite lists state
@emanresuA Welp what I did is probably terrible but who cares
I forgot to check if tests pass so let me see
They probably all fail lol
Circular import LMAO
I completely broke Vyxal

« first day (813 days earlier)      last day (962 days later) »