!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

418 Members
(Technical) development of Lix, the package manager, a Nix implementation. Please be mindful of ongoing technical conversations in this channel.140 Servers

Load older messages


SenderMessageTime
17 May 2024
@jade_:matrix.orgjade_alriiiighty we have horrible forgejo code02:56:03
@qyriad:katesiria.orgQyriad Fuck yeah 02:59:56
@jade_:matrix.orgjade_we have shipped the bad forgejo code03:05:51
@lunaphied:lunaphied.meLunaphiedHell yeau03:06:02
@lunaphied:lunaphied.meLunaphied* Hell yeah03:06:08
@jade_:matrix.orgjade_https://gist.github.com/lf-/f2e31a329c3c48f09198c865e21618e603:08:46
@jade_:matrix.orgjade_for those who want to see the patches03:08:51
@julia:the-apothecary.clubjuliaoh yeah a bunch of the imported isses link to NixOS/nix#4324 etc but they're treated as repos that exist on forgejo and not on github which makes clicking them annoying03:30:23
@jade_:matrix.orgjade_sigh yes04:10:06
@jade_:matrix.orgjade_can't do much about that04:10:10
@jade_:matrix.orgjade_you should plausibly have access to just edit those issues to fix the links tho?04:10:32
@julia:the-apothecary.clubjuliaoh I seem to don't I04:58:41
@julia:the-apothecary.clubjulia
In reply to @jade_:matrix.org
can't do much about that
nginx redirect 😂
04:59:04
@julia:the-apothecary.clubjulia
In reply to @jade_:matrix.org
can't do much about that
* nginx redirect 😛
05:15:32
@ifreilicht:matrix.orgiFreilicht joined the room.08:01:16
@grimmauld:grimmauld.deGrimmauld (moving to @grimmauld:grapevine.grimmauld.de)I'm still waiting for the forgejo federation stuff to be useable08:15:04
@414owen:matrix.orgOwen Shepherd joined the room.20:22:16
@414owen:matrix.orgOwen Shepherd

👋 Hello,
Nice to meet you all!
I'm Owen, I write compilers and things, with a focus on compile-time performance.
Let me preface this by saying I know there's a feature freeze, and I'm happy if what I'm working on remains a personal project until that changes :)
Aaaanyway, I'm working on adding bytecode-interpreter to nix/lix (whichever project(s) want to upstream it).
The plan for MVP, is leave everything as-is upto lixexpr, and add a writeBytecode function to Expr.
This will write out bytecode as C-abi POD, and then... well there will be a bytecode interpreter :)
I'm gonna write that in C, probably, but because it's C POD, there's nothing stopping the interpreter being in rust, or any other language...
Bytecode mode will enabled by some kind of command-line flag, or maybe a config value in nix.conf.
This might end up being slower than the current tree-walk evaluator, in which case... experiment complete.

Anything else I should keep in mind, assuming I want to maximise my changes of upstreaming this?
Any thoughts in general?

20:46:50
@414owen:matrix.orgOwen Shepherd *

👋 Hello,
Nice to meet you all!
I'm Owen, I write compilers and things, with a focus on compile-time performance.
Let me preface this by saying I know there's a feature freeze, and I'm happy if what I'm working on remains a personal project until that changes :)
Aaaanyway, I'm working on adding a bytecode-interpreter to nix/lix (whichever project(s) want to upstream it).
The plan for MVP, is leave everything as-is upto lixexpr, and add a writeBytecode function to Expr.
This will write out bytecode as C-abi POD, and then... well there will be a bytecode interpreter :)
I'm gonna write that in C, probably, but because it's C POD, there's nothing stopping the interpreter being in rust, or any other language...
Bytecode mode will enabled by some kind of command-line flag, or maybe a config value in nix.conf.
This might end up being slower than the current tree-walk evaluator, in which case... experiment complete.

Anything else I should keep in mind, assuming I want to maximise my changes of upstreaming this?
Any thoughts in general?

20:47:14
@lunaphied:lunaphied.meLunaphied So, I think this is planned and something @pennae (who seems to not be in here?) is working on as part of evaluator/parser rewrites 21:02:34
@lunaphied:lunaphied.meLunaphied In general Lix is focused right now on cleaning up a lot of the foundational code we inherited from Nix and therefore large new features like that aren't really on the table at the moment. 21:07:55
@lunaphied:lunaphied.meLunaphiedI'd personally recommend waiting and seeing how existing plans go before committing yourself to a project like that given that it's already on our timeline21:08:36
@raitobezarius:matrix.orgraitobezarius (DECT: 7248) Alternatively, Owen Shepherd I would recommend heading over to the Tvix project which already has a bytecode interpreter and where you could implement more advanced features, if you are comfortable with the TVL folks. 21:13:46
@414owen:matrix.orgOwen ShepherdYes, I've had a look already. I was looking to improve a nix implementation I can actually use now, which has an ecosystem, rather than hack on tvix, which (I assume) isn't going to be usable for a while.21:16:44
@414owen:matrix.orgOwen ShepherdDo you know if @pennae has any code or plan I can look at, to see what the direction is?21:19:21
@jade_:matrix.orgjade_it's not feasible to do that until we fix the io model (wip), which is blocking the parser rewrite (done but needs them to backport), which is blocking fixing more of the evaluator21:25:04
@raitobezarius:matrix.orgraitobezarius (DECT: 7248)
In reply to @414owen:matrix.org
Yes, I've had a look already. I was looking to improve a nix implementation I can actually use now, which has an ecosystem, rather than hack on tvix, which (I assume) isn't going to be usable for a while.
Well, making Tvix usable now is potentially in the same range of efforts than carving a bytecode interpreter in CppNix right now.
21:34:15
@jade_:matrix.orgjade_i would also say that it is probably a more worthwhile use of time, because i think it is highly unlikely we would accept this approach21:46:15
@lunaphied:lunaphied.meLunaphied changed their display name from Lunaphied to lunaphied.21:47:32
@414owen:matrix.orgOwen ShepherdSure, what would you change about the approach? I was looking for that kind of feedback.21:51:17

Show newer messages


Back to Room ListRoom Version: 10