8 Jul 2021 |
Las | In reply to @balsoft:balsoft.ru "The surface syntax differences" mean that you have to rewrite all of nixpkgs. That's what I'm wondering about though | 16:24:14 |
Las | I was wondering if they're going to perhaps add some compatibility mode | 16:24:21 |
Las | E.g. parse .nix files with the old Nix syntax | 16:24:30 |
balsoft | Looking at how painfully the introduction of flakes is going (and they are a great feature, with many advantages, and almost trivially compatible with pre-flake nix) the community may not survive something as massive as a switch to another language entirely. | 16:25:48 |
Las | I get that | 16:26:33 |
Las | I wonder why they didn't just make Nickel Nix with types | 16:26:39 |
Las | Instead of making it Almost Nix with types | 16:26:47 |
balsoft | They tried | 16:26:46 |
balsoft | The initiative died | 16:26:51 |
Las | How come? | 16:26:56 |
balsoft | https://www.tweag.io/blog/2017-05-23-typing-nix/ | 16:27:02 |
balsoft | https://github.com/NixOS/nix/issues/3042#issuecomment-521188864 | 16:27:33 |
Las | Thanks | 16:27:48 |
Las | That link mentions static typing though, not gradual typing | 16:28:20 |
balsoft | What I would love to see is a new distro, built from scratch, with Nickel at its core. | 16:28:24 |
balsoft | Then we can evaluate how that worked out and perhaps bring many improvements from there over to Nix(OS) | 16:28:46 |
balsoft | The most basic linux distro (maybe with busybox and musl, for extra simplicity) shouldn't be too long to make. | 16:29:22 |
balsoft | * The most basic linux distro (maybe with busybox and musl, for extra simplicity) shouldn't take too long to make. | 16:29:30 |
balsoft | Just something without init, that launches into a user-specified executable, all instantiated by nickel and realised by nix. | 16:30:12 |
balsoft | If it turns out Nickel is so great at this that it's feasible to make something more complex -- great, we have another sister project that we can mutually benefit from. If not, learn from mistakes, find the good parts and bring them to NixOS. | 16:31:30 |
Las | I think even if you don't use Nickel in NixOS, you could perhaps use its runtime for Nix, so that there's less duplication, because AFAICT you can map any Nix code to equivalent Nickel code. The reason I asked in the first place is because currently Nix evaluation is horribly slow. | 16:31:45 |
balsoft | Huh? | 16:32:06 |
balsoft | For me, the only "horribly slow" part is when IFD is involved. | 16:32:16 |
balsoft | And that can be fixed without a new language. | 16:32:23 |
Las | Yeah, you could just fix the interpreter | 16:32:37 |
Las | but you could perhaps reuse the one in Nickel, was my idea | 16:32:47 |
Las | Does evaluating your system configuration not take over 1 GiB of RAM? | 16:33:01 |
Mic92 | Yeah. Everything evaluates single threaded and the gc cannot really garbage collect packages while evaluating. | 20:46:22 |
9 Jul 2021 |
@siraben:matrix.org | I want to look into literature on gradual typing in general | 05:12:54 |
@siraben:matrix.org | is there an STLC version of gradual types? something simple so that I can see what kinds of metatheoretical properties are usually proved (in type systems it's usually progress and preservation) | 05:13:37 |