diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-11-12 13:50:45 +0100 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-11-12 13:50:45 +0100 |
commit | a8b693fef7bd44695a3891deb386a4d09ae8ae1b (patch) | |
tree | fce66b811cafe81ede9b31d05a233598e6073196 /lib | |
parent | 785eaf2cea3c57daef96bb209f44589e3f48a7ff (diff) |
Remove backward-compatible implementations of some primops
Nixpkgs requires at least Nix 1.2 anyway, so these are now useless.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/attrsets.nix | 4 | ||||
-rw-r--r-- | lib/lists.nix | 20 |
2 files changed, 3 insertions, 21 deletions
diff --git a/lib/attrsets.nix b/lib/attrsets.nix index f314c02ff32be..da735d71b255d 100644 --- a/lib/attrsets.nix +++ b/lib/attrsets.nix @@ -20,7 +20,7 @@ rec { let attr = head attrPath; in if attrPath == [] then e - else if builtins ? hasAttr && hasAttr attr e + else if hasAttr attr e then attrByPath (tail attrPath) default (getAttr attr e) else default; @@ -110,7 +110,7 @@ rec { collect = pred: attrs: if pred attrs then [ attrs ] - else if builtins.isAttrs attrs then + else if isAttrs attrs then concatMap (collect pred) (attrValues attrs) else []; diff --git a/lib/lists.nix b/lib/lists.nix index 2a1fa72056371..d6e8628f03a14 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -10,7 +10,7 @@ let in rec { - inherit (builtins) head tail length isList elemAt; + inherit (builtins) head tail length isList elemAt concatLists filter elem; # Create a list consisting of a single element. `singleton x' is @@ -58,10 +58,6 @@ in rec { in imap' 0; - # Concatenate a list of lists. - concatLists = builtins.concatLists or (fold (x: y: x ++ y) []); - - # Map and concatenate the result. concatMap = f: list: concatLists (map f list); @@ -75,24 +71,10 @@ in rec { else [x]; - # Filter a list using a predicate; that is, return a list containing - # every element from `list' for which `pred' returns true. - filter = - builtins.filter or - (pred: list: - fold (x: y: if pred x then [x] ++ y else y) [] list); - - # Remove elements equal to 'e' from a list. Useful for buildInputs. remove = e: filter (x: x != e); - # Return true if `list' has an element `x'. - elem = - builtins.elem or - (x: list: fold (a: bs: x == a || bs) false list); - - # Find the sole element in the list matching the specified # predicate, returns `default' if no such element exists, or # `multiple' if there are multiple matching elements. |