| 8 Jul 2021 |
pamplemousse | In reply to @Las:matrix.org Is Nickel in the future going to replace Nix somehow? I was wondering about using Rust in Nix, but remembered that Nickel is written in Rust, but Nickel doesn't seem to be compatible with Nix syntax. Seems like it.
Nickel is an evolution of the Nix language, while trying to overcome some of its limitations.
https://github.com/tweag/nickel#use-cases
Dunno when (or even how) the transition will happen though ^^
| 16:21:28 |
Las | That's what I'm wondering because it's incompatible with Nix synax | 16:21:51 |
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 |