| Commit message (Expand) | Author | Age | Files | Lines |
| * | Merge master into staging-next | Frederik Rietdijk | 2019-09-06 | 1 | -1/+1 |
| |\ |
|
| | * | Fix typo in lists.nix | Robert Hensing | 2019-09-06 | 1 | -1/+1 |
| * | | Merge staging-next into staging | Frederik Rietdijk | 2019-08-28 | 1 | -0/+13 |
| |\| |
|
| | * | rename foreach -> forEach | danbst | 2019-08-05 | 1 | -3/+3 |
| | * | lib: introduce `foreach` = flip map•••The main purpose is to bring attention to `flip map`, which improves
code readablity. It is useful when ad-hoc anonymous function
grows two or more lines in `map` application:
```
map (lcfg:
let port = lcfg.port;
portStr = if port != defaultPort then ":${toString port}" else "";
scheme = if cfg.enableSSL then "https" else "http";
in "${scheme}://cfg.hostName${portStr}"
) (getListen cfg);
```
Compare this to `foreach`-style:
```
foreach (getListen cfg) (lcfg:
let port = lcfg.port;
portStr = if port != defaultPort then ":${toString port}" else "";
scheme = if cfg.enableSSL then "https" else "http";
in "${scheme}://cfg.hostName${portStr}"
);
```
This is similar to Haskell's `for` (http://hackage.haskell.org/package/base-4.12.0.0/docs/Data-Traversable.html#v:for)
| danbst | 2019-07-14 | 1 | -0/+13 |
| * | | treewide: remove redundant quotes | volth | 2019-08-26 | 1 | -2/+2 |
| |/ |
|
| * | lib: improve the implementation of the unique function | Léo Gaspard | 2019-04-12 | 1 | -2/+1 |
| * | lib: lists: Alias builtins.map•••Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Suggested-by: Profpatsch <mail@profpatsch.de>
| Matthias Beyer | 2019-03-29 | 1 | -1/+1 |
| * | lib/lists: Update documentation comments for doc generation•••Updates documentation comments with extra information for nixdoc[1]
compatibility.
[1]: https://github.com/tazjin/nixdoc
| Vincent Ambo | 2018-10-29 | 1 | -48/+136 |
| * | lib: move assertMsg and assertOneOf to their own library file•••Since the `assertOneOf` uses `lib.generators`, they are not really trivial
anymore and should go into their own library file.
| Profpatsch | 2018-09-06 | 1 | -2/+2 |
| * | lib/trivial: add a few examples of usage of assertMsg/assertOneOf | Profpatsch | 2018-09-06 | 1 | -2/+5 |
| * | [bot]: remove unreferenced code | volth | 2018-07-20 | 1 | -1/+0 |
| * | lib.concatMap and lib.mapAttrs to be builtins | volth | 2018-07-05 | 1 | -1/+1 |
| * | lib: add groupBy (#38612) | volth | 2018-06-10 | 1 | -0/+36 |
| * | lib: add naturalSort (move the example IPs to private space) | volth | 2018-04-08 | 1 | -2/+2 |
| * | lib: add naturalSort | volth | 2018-04-08 | 1 | -1/+22 |
| * | Merge pull request #33898 from oxij/nixos/related-packages-v5•••nixos: doc: implement related packages in the manual (again) | Graham Christensen | 2018-02-09 | 1 | -0/+24 |
| |\ |
|
| | * | lib: implement `compare`, `splitByAndCompare`, and `compareLists` | Jan Malakhovski | 2018-02-09 | 1 | -0/+24 |
| * | | nixos/tests: add predictable-interface-names.nix (#34305) | symphorien | 2018-02-09 | 1 | -2/+6 |
| |/ |
|
| * | Revert "nixos: doc: implement related packages in the manual" | Graham Christensen | 2017-12-23 | 1 | -24/+0 |
| * | lib: implement `compare`, `splitByAndCompare`, and `compareLists` | Jan Malakhovski | 2017-12-07 | 1 | -0/+24 |
| * | Convert libs to a fixed-point•••This does break the API of being able to import any lib file and get
its libs, however I'm not sure people did this.
I made this while exploring being able to swap out docFn with a stub
in #2305, to avoid functor performance problems. I don't know if that
is going to move forward (or if it is a problem or not,) but after
doing all this work figured I'd put it up anyway :)
Two notable advantages to this approach:
1. when a lib inherits another lib's functions, it doesn't
automatically get put in to the scope of lib
2. when a lib implements a new obscure functions, it doesn't
automatically get put in to the scope of lib
Using the test script (later in this commit) I got the following diff
on the API:
+ diff master fixed-lib
11764a11765,11766
> .types.defaultFunctor
> .types.defaultTypeMerge
11774a11777,11778
> .types.isOptionType
> .types.isType
11781a11786
> .types.mkOptionType
11788a11794
> .types.setType
11795a11802
> .types.types
This means that this commit _adds_ to the API, however I can't find a
way to fix these last remaining discrepancies. At least none are
_removed_.
Test script (run with nix-repl in the PATH):
#!/bin/sh
set -eux
repl() {
suff=${1:-}
echo "(import ./lib)$suff" \
| nix-repl 2>&1
}
attrs_to_check() {
repl "${1:-}" \
| tr ';' $'\n' \
| grep "\.\.\." \
| cut -d' ' -f2 \
| sed -e "s/^/${1:-}./" \
| sort
}
summ() {
repl "${1:-}" \
| tr ' ' $'\n' \
| sort \
| uniq
}
deep_summ() {
suff="${1:-}"
depth="${2:-4}"
depth=$((depth - 1))
summ "$suff"
for attr in $(attrs_to_check "$suff" | grep -v "types.types"); do
if [ $depth -eq 0 ]; then
summ "$attr" | sed -e "s/^/$attr./"
else
deep_summ "$attr" "$depth" | sed -e "s/^/$attr./"
fi
done
}
(
cd nixpkgs
#git add .
#git commit -m "Auto-commit, sorry" || true
git checkout fixed-lib
deep_summ > ../fixed-lib
git checkout master
deep_summ > ../master
)
if diff master fixed-lib; then
echo "SHALLOW MATCH!"
fi
(
cd nixpkgs
git checkout fixed-lib
repl .types
)
| Graham Christensen | 2017-09-16 | 1 | -2/+2 |
| * | lib.lists.mutuallyExclusive: add function | Vladimír Čunát | 2017-07-07 | 1 | -0/+8 |
| * | lib: introduce imap0, imap1 (#25543)•••* lib: introduce imap0, imap1
For historical reasons, imap starts counting at 1 and it's not
consistent with the rest of the lib.
So for now we split imap into imap0 that starts counting at zero and
imap1 that starts counting at 1. And imap is marked as deprecated.
See https://github.com/NixOS/nixpkgs/commit/c71e2d42359f9900ea2c290d141c0d606471da16#commitcomment-21873221
* replace uses of lib.imap
* lib: move imap to deprecated.nix
| zimbatm | 2017-07-04 | 1 | -4/+10 |
| * | lib: trivial spelling fixes | Tom Saeger | 2017-04-19 | 1 | -1/+1 |
| * | lib/lists: rename fold to foldr & improve fold docs•••In order to better distinguish foldr from foldl the default name is changed to
foldr, but fold is still a synonym.
Additionally the docs are improved and examples added.
| Profpatsch | 2017-03-19 | 1 | -12/+29 |
| * | Use builtins.partition if available | Eelco Dolstra | 2016-08-29 | 1 | -2/+2 |
| * | lib: introduce listDfs and toposort, add example to hasPrefix | Jan Malakhovski | 2016-08-23 | 1 | -0/+80 |
| * | flatten: drastically improve performance, see #17626 | Domen Kožar | 2016-08-10 | 1 | -1/+1 |
| * | Really remove library functions•••Throwing a message like "removed 2016-02-29 because unused and broken"
is unhelpful because it doesn't show what function was removed.
| Eelco Dolstra | 2016-07-11 | 1 | -4/+0 |
| * | Remove unecessary branching on old nix versions•••All these builtins are available since 1.10 or earlier (1.10 being the
lib/minver.nix)
| zimbatm | 2016-06-17 | 1 | -66/+12 |
| * | lib.lists: fix fold example | Domen Kožar | 2016-05-26 | 1 | -1/+1 |
| * | lib/lists: document all functions | zimbatm | 2016-03-10 | 1 | -53/+215 |
| * | Remove lib.deepSeqList and lib.deepSeqAttrs•••Both functions are broken and unused in the repo.
| zimbatm | 2016-03-09 | 1 | -3/+3 |
| * | Use builtins.sort | Eelco Dolstra | 2015-07-28 | 1 | -2/+3 |
| * | Use builtins.genList•••This fixes the quadratic complexity of functions like imap.
| Eelco Dolstra | 2015-07-28 | 1 | -49/+90 |
| * | Remove zipTwoLists•••This function is redundant (we also have zipLists).
| Eelco Dolstra | 2015-07-28 | 1 | -14/+0 |
| * | Use builtin all and any functions | Eelco Dolstra | 2015-07-24 | 1 | -2/+2 |
| * | Use foldl' instead of fold in some places | Eelco Dolstra | 2015-07-23 | 1 | -2/+6 |
| * | Revert "Reverts a bunch of commits as a try to fix GC errors."•••This reverts commit 1e4ba025c260fa6852765e9f5c59e985f10c6a43.
Conflicts:
pkgs/development/web/nodejs/build-node-package.nix
| Jaka Hudoklin | 2015-03-21 | 1 | -3/+3 |
| * | Reverts a bunch of commits as a try to fix GC errors.•••Commits
- 694f01db2d2e1cde06ee243a5909d196e84f0a18
- 829479d1dda5dbb579885e16dc655716127457ed
- bd81885f706dae5cdeb8c03845fa43d8b74fa57c
- b2fdcf801ce08bf0c44e63bafe8ae2c720704da7
| Domen Kožar | 2015-03-17 | 1 | -3/+3 |
| * | intersect -> intersectLists, subtract -> subtractLists | Eelco Dolstra | 2015-03-04 | 1 | -2/+2 |
| * | substract -> subtract | Eelco Dolstra | 2015-03-04 | 1 | -2/+2 |
| * | lib/lists: add intersect and substract functions | Jaka Hudoklin | 2015-02-28 | 1 | -0/+5 |
| * | Add `unique` list function•••It removes duplicate elements from a list.
| Ricardo M. Correia | 2014-11-12 | 1 | -0/+10 |
| * | lib: Use arithmetic operators rather than builtins.add etc. | Eelco Dolstra | 2014-10-05 | 1 | -28/+20 |
| * | init list helper | Edward Tjörnhammar | 2014-09-16 | 1 | -0/+4 |
| * | gnome3: use package names for environment.gnome3.excludePackages | Luca Bruno | 2014-04-14 | 1 | -2/+0 |
| * | Add environment.gnome3.excludePackages•••Give the user a full desktop, and the possibility to exclude
non-base packages from the default list of packages.
| Luca Bruno | 2014-04-09 | 1 | -0/+3 |
| * | Simplify crossLists•••Signed-off-by: Shea Levy <shea@shealevy.com>
| Shea Levy | 2013-12-12 | 1 | -6/+1 |