about summary refs log tree commit diff
path: root/tvix/eval/docs
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2022-08-24T11·24+0300
committertazjin <tazjin@tvl.su>2022-09-02T12·59+0000
commitc48aa058a79f1fd08bb98fc6eba80bf4e438a983 (patch)
tree9b5e5703b7e864407a0987676dc7ba367502d9cd /tvix/eval/docs
parente0f1356ae31783664f597b33f8b69b060a9e3033 (diff)
docs(tvix/eval): add an overview of all builtins in Nix r/4586
Change-Id: Ie187f3317046c6c9e59852d4a128f25ceed99309
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6252
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Diffstat (limited to 'tvix/eval/docs')
-rw-r--r--tvix/eval/docs/builtins.md120
1 files changed, 120 insertions, 0 deletions
diff --git a/tvix/eval/docs/builtins.md b/tvix/eval/docs/builtins.md
new file mode 100644
index 0000000000..fe11af0634
--- /dev/null
+++ b/tvix/eval/docs/builtins.md
@@ -0,0 +1,120 @@
+Nix builtins
+============
+
+Nix has a lot of built-in functions, some of which are accessible in
+the global scope, and some of which are only accessible through the
+global `builtins` attribute set.
+
+This document is an attempt to track all of these builtins, but
+without documenting their functionality.
+
+See also https://nixos.org/manual/nix/stable/expressions/builtins.html
+
+| name                          | global | arity | pure |
+|-------------------------------|--------|-------|------|
+| abort                         | true   | 1     |      |
+| add                           | false  | 2     | true |
+| addErrorContext               | false  | ?     |      |
+| all                           | false  | 2     | true |
+| any                           | false  | 2     | true |
+| appendContext                 | false  | ?     |      |
+| attrNames                     | false  | 1     | true |
+| attrValues                    | false  |       | true |
+| baseNameOf                    | true   |       |      |
+| bitAnd                        | false  |       |      |
+| bitOr                         | false  |       |      |
+| bitXor                        | false  |       |      |
+| builtins                      | true   |       |      |
+| catAttrs                      | false  |       |      |
+| compareVersions               | false  |       |      |
+| concatLists                   | false  |       |      |
+| concatMap                     | false  |       |      |
+| concatStringsSep              | false  |       |      |
+| currentSystem                 | false  |       |      |
+| currentTime                   | false  |       |      |
+| deepSeq                       | false  |       |      |
+| derivation                    | true   |       |      |
+| derivationStrict              | true   |       |      |
+| dirOf                         | true   |       |      |
+| div                           | false  |       |      |
+| elem                          | false  |       |      |
+| elemAt                        | false  |       |      |
+| false                         | true   |       |      |
+| fetchGit                      | true   |       |      |
+| fetchMercurial                | true   |       |      |
+| fetchTarball                  | true   |       |      |
+| fetchurl                      | false  |       |      |
+| filter                        | false  |       |      |
+| filterSource                  | false  |       |      |
+| findFile                      | false  |       |      |
+| foldl'                        | false  |       |      |
+| fromJSON                      | false  |       |      |
+| fromTOML                      | true   |       |      |
+| functionArgs                  | false  |       |      |
+| genList                       | false  |       |      |
+| genericClosure                | false  |       |      |
+| getAttr                       | false  |       |      |
+| getContext                    | false  |       |      |
+| getEnv                        | false  |       |      |
+| hasAttr                       | false  |       |      |
+| hasContext                    | false  |       |      |
+| hashFile                      | false  |       |      |
+| hashString                    | false  |       |      |
+| head                          | false  |       |      |
+| import                        | true   |       |      |
+| intersectAttrs                | false  |       |      |
+| isAttrs                       | false  |       |      |
+| isBool                        | false  |       |      |
+| isFloat                       | false  |       |      |
+| isFunction                    | false  |       |      |
+| isInt                         | false  |       |      |
+| isList                        | false  |       |      |
+| isNull                        | true   |       |      |
+| isPath                        | false  |       |      |
+| isString                      | false  |       |      |
+| langVersion                   | false  |       |      |
+| length                        | false  |       |      |
+| lessThan                      | false  |       |      |
+| listToAttrs                   | false  |       |      |
+| map                           | true   |       |      |
+| mapAttrs                      | false  |       |      |
+| match                         | false  |       |      |
+| mul                           | false  |       |      |
+| nixPath                       | false  |       |      |
+| nixVersion                    | false  |       |      |
+| null                          | true   |       |      |
+| parseDrvName                  | false  |       |      |
+| partition                     | false  |       |      |
+| path                          | false  |       |      |
+| pathExists                    | false  |       |      |
+| placeholder                   | true   |       |      |
+| readDir                       | false  |       |      |
+| readFile                      | false  |       |      |
+| removeAttrs                   | true   |       |      |
+| replaceStrings                | false  |       |      |
+| scopedImport                  | true   |       |      |
+| seq                           | false  |       |      |
+| sort                          | false  |       |      |
+| split                         | false  |       |      |
+| splitVersion                  | false  |       |      |
+| storeDir                      | false  |       |      |
+| storePath                     | false  |       |      |
+| stringLength                  | false  |       |      |
+| sub                           | false  |       |      |
+| substring                     | false  |       |      |
+| tail                          | false  |       |      |
+| throw                         | true   |       |      |
+| toFile                        | false  |       |      |
+| toJSON                        | false  |       |      |
+| toPath                        | false  |       |      |
+| toString                      | true   |       |      |
+| toXML                         | false  |       |      |
+| trace                         | false  |       |      |
+| true                          | true   |       |      |
+| tryEval                       | false  |       |      |
+| typeOf                        | false  |       |      |
+| unsafeDiscardOutputDependency | false  |       |      |
+| unsafeDiscardStringContext    | false  |       |      |
+| unsafeGetAttrPos              | false  |       |      |
+| valueSize                     | false  |       |      |
+