| 8 Jul 2021 |
Las | * That's what I'm wondering because it's incompatible with Nix syntax | 16:21:53 |
balsoft | I hope not :/ | 16:21:53 |
Las | Why? | 16:21:58 |
balsoft | It's not compatible with Nix, so instead of a switch it would be like a total rewrite of everything. | 16:22:52 |
Las | How so? | 16:23:06 |
Las | Other than the surface syntax differences? | 16:23:16 |
balsoft | "The surface syntax differences" mean that you have to rewrite all of nixpkgs. | 16:23:32 |
pamplemousse | In reply to @balsoft:balsoft.ru It's not compatible with Nix, so instead of a switch it would be like a total rewrite of everything. Not necessarily, there could be tools developped to transpile from Nix to Nickel. | 16:23:37 |
balsoft | In reply to @pamplemouss_:matrix.org Not necessarily, there could be tools developped to transpile from Nix to Nickel. In that case we shall be stuck in a limbo with the disadvantages of both languages until we finish the idiomatic rewrite (which will likely never happen) | 16:24:10 |
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 |