Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lib.trivial: add neq function #368678

Closed
wants to merge 1 commit into from
Closed

Conversation

0x5a4
Copy link
Contributor

@0x5a4 0x5a4 commented Dec 28, 2024

Things done

I've added the neq function to lib.trivial, a higher order function for the != operator.

Its quite useful for constructing simple predicates, e.g. for filter

lib.filter (lib.neq "") ["a" "" "b"]
=> ["a" "b"]

In comparison, the same line without neq:

lib.filter (x: x != "") ["a" "" "b"]
=> ["a" "b"]

I personally prefer the first variant, though I can understand if this addition is seen as unnecessary. (I'm also just a huge fan of partially applied functions, so I might be biased here)

In general I feel like lib.trivial is missing a few functions for operators, though I think this is one of the more useful ones.

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@0x5a4 0x5a4 changed the title lib.trivial: add eq and neq functions lib.trivial: add neq function Dec 28, 2024
@github-actions github-actions bot added the 6.topic: lib The Nixpkgs function library label Dec 28, 2024
@nix-owners nix-owners bot requested a review from infinisil December 28, 2024 00:17
@0x5a4
Copy link
Contributor Author

0x5a4 commented Dec 28, 2024

after thinking about this some more, i feel like this is the kind of thing that the fairbarn principal thingy refers to...

@0x5a4 0x5a4 closed this Dec 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant