| 24 Feb 2026 |
emily | other reasons comparing names separately makes more sense:
- consistent with lists,
[ abort abort ] != [ abort ] compares lengths before values already, and list lengths are analogous to attrset key sets
- indeed the interleaving version can't legitimately even short-circuit on the number of names without complicating semantics because of
{ a = abort; } != { b = abort; c = abort; } -- whereas if you compare names first, you can legitimately do that short circuit because attr name set comparison happens before any thunks are forced
| 15:44:34 |
emily | I'll put a summary of this up on the Nix PR in a few hours since this is getting verbose :) | 15:49:55 |
emily | but I firmly believe attrNames set1 == attrNames set2 && attrValues set1 == attrValues set2 is the right semantics on both practical and theoretical grounds (and we should fix anywhere Nixpkgs still relies on pointer equality dodging type errors/aborts/throws/infinite loops and then move towards not doing that by default) | 15:51:51 |
piegames | Okay | 16:23:57 |
| 25 Feb 2026 |
| @kirottu:kirottu.com left the room. | 16:55:51 |
| isabel changed their profile picture. | 21:51:40 |
| 26 Feb 2026 |
| Lily Foster changed their profile picture. | 14:01:48 |
| n3tcat joined the room. | 23:44:11 |
| 27 Feb 2026 |
| find me at @lavender.pet:queer.sh changed their display name from lavender.pet to find me at @lavender.pet:queer.sh. | 20:14:32 |
| find me at @lavender.pet:queer.sh changed their profile picture. | 20:36:06 |
| 1 Mar 2026 |
| kylie changed their profile picture. | 03:25:03 |
| kylie changed their display name from somasis to kylie. | 03:52:40 |