« first day (1250 days earlier)      last day (446 days later) » 

02:00
@mathscat can there at least be an overload for that because having to check if something is equal to zero takes 2 bytes because there is no "is falsy" option
 
4 hours later…
06:03
!!/status
@lyxal I am communicating with aliens from a distant planet.
@Ginger vyxal bot has a chance to outlast new posts
Proving you to be the better bot maker than rydwolf :p
 
6 hours later…
11:36
!!/status boring
Bot status: Online
Uptime: 13 days, 23:02:09.733033
Running since: 2023-09-05T12:33:56.302075
Errors since startup: 2
cool
 
1 hour later…
12:44
Vyxal hasn't had a release for 3 weeks.
that's normal
at least for months with fewer active users
13:45
!!/status
@lyxal I am reading My Immortal to Ginger. Good thing they don't know where I keep my off switch- oh wait.
14:00
!!/status
@lyxal I am doing heaps of things all at once.
14:36
in The Nineteenth Byte, 57 secs ago, by Rydwolf Programs
VyxalBot may run into issues soon
we are doomed
as long as the bot doesn't shut down, it should be OK
!!/status
@mathscat I am building sandcastles at the beach.
hey it's back again
 
3 hours later…
17:59
alright
I'm going to take a serious look at the feasibility of a Vyxal-to-LLVM compiler
it would have to be a subset of Vyxal ofc
since things like eval wouldn't be possible
the python eval or eval in general?
I'm talking about v3 here
wait, does v3 even have eval?
I'm confused now
18:07
Vyxal eval wouldn't be possible
ah nvm
got things mixed up
well, after doing a little googling, this seems to be a very time-consuming task.
ayup
so every element would have to be written in llvm style?
effectively
every element would need to map to some bytecode that performs its function
if I were to do this, I'd piggyback off of Vyxal 3's lexer/parser and effectively turn AST objects directly into bytecode
replacing the execution step of the interpreter
@Ginger I associate bad memories with java bytecode
18:27
LYCSAL: Laconic vYxal Compiler System tArgeting Llvm
:p
@mathscat iirc pxeger suggested bytecode for v2 so I gave it a try
19:06
I rather wish that yall had written Vyxal 3 in Kotlin
 
2 hours later…
21:31
@Ginger Why's that?
 
1 hour later…
22:36
@user it's better IMHO
plus I know it but I don't know Scala
23:04
Better in what way?
If you mean it's easier to learn and better supported then sure
I don't think Scala is that much harder to learn than Kotlin but it is less popular ig
But it's got way more features than Kotlin and it also compiles to native and JS
Scala makes lists just work really nicely
Which is why I chose it
It has all sorts of nice operators for lists, and has very good lazy evaluation
Which are things I really like
And super powerful pattern matching is really nice too
Also, who the heck uses fun to define functions anyway?
It just looks nasty
Finally, the type inference system of scala is really convenient
Feels just like python most of the time
The other times are when you need to specify type and it's still convenient even then
23:28
@lyxal Oh yeah this is a big one
@lyxal Kotlin actually has pretty much the same type inference (in fact, it has flow typing)
But Kotlin still doesn't have even basic pattern matching
@user it's the main reason we're using scala and not something like Go
Like what other language lets you write:
Jul 5 at 13:22, by lyxal
lazy val temp: LazyList[VAny] = LazyList.from(a) #::: temp
@lyxal okay, this I agree with
23:47
@lyxal Ackchually, Haskell and similar languages let you do that
@Ginger ...of all the points lyxal discussed, you were swayed by the one thing that wasn't an actual con of Kotlin?
ngl I'm really tempted to rewrite Vyxal in Lisp right now
I'm learning Racket and it's pretty great
Aside from being dynamically typed (typed Racket is pretty shitty)
@lyxal Oh god please tell me you weren't going to use Go if I hadn't convinced you to use Scala
Sep 21, 2022 at 13:41, by lyxal
who knows, maybe Go could be v3 if scala doesn't work out
I used to occasionally feel bad for convincing you to use Scala when there's Rust and Nim but if Go is what you were going to go with then I no longer feel guilty
Sep 21, 2022 at 12:59, by lyxal
I'm going (no pun intended) through the Golang guide and I am falling in love with this language
I'm afraid we can no longer be friends, lyxal.
If every Go programmer died in an explosion, I would be immensely happy
Sep 24, 2022 at 7:53, by lyxal
I did some initial experimenting with lazylists and go just makes me want to commit frick
Good good
hey @lyxal are there docs for the mechanics of the interpreter itself anywhere?
23:52
what version?
3
that's what LYCSAL will be compiling
(the answer is yes for both versions but knowing the version helps me redirect your call to the right place)
Oh wait you're actually making an LLVM compiler?
(well technically a subset of it which I have named Principio, but whatever)
@user mmmmmaybe
23:53
and what user linked is the right file
Nice
I'm figuring out if it'd actually be feasible
That whole folder has developer documentation
Also if any part of the source code isn't self-explanatory and also doesn't have enough comments, then please let us know (feel free to ping me)
alrighty
Here's the heart of the interpreter
It's basically just one big match
23:55
the first thing I'd do is write up pseudocode translations of elements to LLVM bytecode
How would you do eval?
and in fact if anyone wants to help with that I would greatly appreciate it
@user that's the best part: I wouldn't :b
Also, you need to implement every element yourself (either in LLVM IR or in a language that compiles to LLVM)
Principio doesn't support eval
Ah, hence the subset
That's reasonable
23:56
yup
y'all realise that v3 rolls its own eval function?
Would this work with LLDB?
@lyxal wdym?
idk yet
like I said, this is all early-stage stuff
@user for the eval element, it uses a mischelpers function
And?
Oh I see I guess the list case can be done with Interpreter.execute
23:58
well eval should be possible in principo to the same behaviour as scala v3
Let's go
@user I'm aware, and this is what I'm asking for help with
You might want to help out with the CGR instead
Or convince the other CGR people to use LLVM instead
yeah, that did occur to me
if y'all ever get CGR working I'll consider compiling to it

« first day (1250 days earlier)      last day (446 days later) »