!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

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

Load older messages


SenderMessageTime
14 Dec 2025
@kloenk:kloenk.eukloenk psychic damage noises 17:01:29
@522_:catgirl.cloud522 it/its ⛯ΘΔ

... what's with this

# nix-instantiate --parse -E "01.4"
{
  "_type": "ExprCall",
  "args": [
    {
      "_type": "ExprLiteral",
      "value": 0.4,
      "valueType": "Float"
    }
  ],
  "fun": {
    "_type": "ExprLiteral",
    "value": 1,
    "valueType": "Int"
  }
}

... why is that not just a float literal with value 1.4

19:09:30
@piegames:flausch.socialpiegames Quick poll: should function application without spaces be allowed? foo"1"2 19:09:36
@piegames:flausch.socialpiegames
In reply to @522_:catgirl.cloud

... what's with this

# nix-instantiate --parse -E "01.4"
{
  "_type": "ExprCall",
  "args": [
    {
      "_type": "ExprLiteral",
      "value": 0.4,
      "valueType": "Float"
    }
  ],
  "fun": {
    "_type": "ExprLiteral",
    "value": 1,
    "valueType": "Int"
  }
}

... why is that not just a float literal with value 1.4

Because it parses as fucking 01 .4
19:10:03
@522_:catgirl.cloud522 it/its ⛯ΘΔlol19:10:18
@522_:catgirl.cloud522 it/its ⛯ΘΔoh right it's presumably just not legal 19:10:29
@522_:catgirl.cloud522 it/its ⛯ΘΔyeah19:10:35
@piegames:flausch.socialpiegames
In reply to @522_:catgirl.cloud
lol
Yeah because integers can have leading zeroes but not floats
19:11:58
@piegames:flausch.socialpiegamesSo floats with leading zeros of course parse as fucking function application19:12:21
@helle:tacobelllabs.nethelle (just a stray cat girl)still slightly dislike nix does not have hex and oct literals from when we started using it first19:13:11
@522_:catgirl.cloud522 it/its ⛯ΘΔ the error for 0xff being "you tried to call 0" is really funny 19:14:31
@helle:tacobelllabs.nethelle (just a stray cat girl)I know it so far has not really come up with anything we wrote, but still it was "okay, huh"19:14:50
@piegames:flausch.socialpiegames Can't be added atm because 0x10 parses as 0 x10 19:15:15
@piegames:flausch.socialpiegamesSo we can deprecate that syntax but can't give it new semantics without langver19:15:42
@helle:tacobelllabs.nethelle (just a stray cat girl)yep, we know, and it rarely comes up19:16:10
@helle:tacobelllabs.nethelle (just a stray cat girl)and nixpkgs brings lib.trivial.fromHexString, which I have used a total of once19:16:35
@helle:tacobelllabs.nethelle (just a stray cat girl)octal, so far, never19:16:46
@piegames:flausch.socialpiegamesBecause permissions are usually treated as strings19:22:27
@helle:tacobelllabs.nethelle (just a stray cat girl)yep19:22:42
@lucy:elia.gardenlucy joined the room.22:20:42
@crop_tech:matrix.orgcrop
In reply to @522_:catgirl.cloud

... what's with this

# nix-instantiate --parse -E "01.4"
{
  "_type": "ExprCall",
  "args": [
    {
      "_type": "ExprLiteral",
      "value": 0.4,
      "valueType": "Float"
    }
  ],
  "fun": {
    "_type": "ExprLiteral",
    "value": 1,
    "valueType": "Int"
  }
}

... why is that not just a float literal with value 1.4

If all this would be made to behave more reasonable would this actually break things?
23:13:19
15 Dec 2025
@n4ch7:n3831.netn4ch723hr3r (putting stuff in your name is cringe) joined the room.00:11:14
@raitobezarius:matrix.orgraitobezarius aloisw: unfortunately, i'm still overseas and jetlagged as fucked, so i was not able to touch it 00:24:03
@raitobezarius:matrix.orgraitobezariusi should be able to get back to you around ~21st-ish00:24:20
@n4ch7:n3831.netn4ch723hr3r (putting stuff in your name is cringe)touch what?00:31:00
@raitobezarius:matrix.orgraitobezarius

another input: i believe we kinda have to offer a default solution with a sensible UX at some point, but we're still in the phase of extracting flakes, etc. to make a sense of the ecosystem, unify/simplify/improve then we can elect a default solution that people can settle on

and maybe a hot take but i think at that moment, it would be good if all npins/lon/niv/etc. projects could be subsumed by This New Thing™ except if it's proven that having multiple solutions is required (because flexibility, etc.), this won't prevent people from having customized tailor-made solutions via the plugin system, but this shouldn't be the default scenario

00:31:08
@raitobezarius:matrix.orgraitobezariustouch this ^00:31:25
@kfears:matrix.orgKFears (burnt out)

I sometimes think about doing the New Thing, but I often stumbled into doing weird hacks or gross glue or re-implementations from scratch:

  1. A good New Thing might want to do flake-import, but flake inputs are a very restricted subset of NixLang, being able to get them as JSON would be super helpful
  2. Likewise, parsing flakerefs is not something exciting, and being able to turn flakerefs into JSON would be super helpful (flakes already understand both)
  3. Getting NAR hash, store path, etc. from an arbitrary file/dir often feels unnecessarily complicated, so instead of simple git clone and getting hash, there's often a need to shell out to nix-prefetch-helpers
00:55:20
@kfears:matrix.orgKFears (burnt out)I think if Lix provides an improved CLI, then creating New Thing will be much easier and pretty much just wiring things up together00:56:19
@kfears:matrix.orgKFears (burnt out)I haven't spent much time on the problem though, I think people who have done locking solutions can contribute more00:58:51

Show newer messages


Back to Room ListRoom Version: 10