docs(tvix/eval): builtins.md: note implementation status
We're getting close to the finish line, folks. I went through the list of builtins and there are only 33 that remain unimplemented. I've marked them, and indicated which are ready to be implemented vs which are waiting for other things. We can delete this column from the table once everything is implemented. Signed-off-by: Adam Joseph <adam@westernsemico.com> Change-Id: Idfaef93283536288b12e59aef5c3e1cd139bd133 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7140 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
This commit is contained in:
		
							parent
							
								
									cc3060ed7c
								
							
						
					
					
						commit
						98a981a737
					
				
					 1 changed files with 123 additions and 116 deletions
				
			
		|  | @ -10,122 +10,129 @@ 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  |       | 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  |       | false | | ||||
| | foldl'                        | false  |       |       | | ||||
| | fromJSON                      | false  |       |       | | ||||
| | fromTOML                      | true   |       |       | | ||||
| | functionArgs                  | false  |       |       | | ||||
| | genList                       | false  |       |       | | ||||
| | genericClosure                | false  |       |       | | ||||
| | getAttr                       | false  |       |       | | ||||
| | getContext                    | false  |       |       | | ||||
| | getEnv                        | false  |       | false | | ||||
| | hasAttr                       | false  |       |       | | ||||
| | hasContext                    | false  |       |       | | ||||
| | hashFile                      | false  |       | 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  |       | sometimes | | ||||
| | pathExists                    | false  |       | false | | ||||
| | placeholder                   | true   |       |       | | ||||
| | readDir                       | false  |       | false | | ||||
| | readFile                      | false  |       | 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  |       |       | | ||||
| The `impl` column indicates implementation status in tvix: | ||||
| - implemented: "" (empty cell) | ||||
| - not yet implemented, but not blocked: `todo` | ||||
| - not yet implemented, but blocked by other prerequisites: | ||||
|   - `store`: awaiting eval<->store api(s) | ||||
|   - `context`: awaiting support for string contexts | ||||
| 
 | ||||
| | name                          | global | arity | pure  | impl    | | ||||
| |-------------------------------|--------|-------|-------|---------| | ||||
| | abort                         | true   | 1     |       |         | | ||||
| | add                           | false  | 2     | true  |         | | ||||
| | addErrorContext               | false  | ?     |       | context | | ||||
| | all                           | false  | 2     | true  |         | | ||||
| | any                           | false  | 2     | true  |         | | ||||
| | appendContext                 | false  | ?     |       | context | | ||||
| | 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  |       | false |         | | ||||
| | deepSeq                       | false  |       |       |         | | ||||
| | derivation                    | true   |       |       | store   | | ||||
| | derivationStrict              | true   |       |       | store   | | ||||
| | dirOf                         | true   |       |       |         | | ||||
| | div                           | false  |       |       |         | | ||||
| | elem                          | false  |       |       |         | | ||||
| | elemAt                        | false  |       |       |         | | ||||
| | false                         | true   |       |       |         | | ||||
| | fetchGit                      | true   |       |       | store   | | ||||
| | fetchMercurial                | true   |       |       | store   | | ||||
| | fetchTarball                  | true   |       |       | store   | | ||||
| | fetchurl                      | false  |       |       | store   | | ||||
| | filter                        | false  |       |       |         | | ||||
| | filterSource                  | false  |       |       | store   | | ||||
| | findFile                      | false  |       | false | todo    | | ||||
| | foldl'                        | false  |       |       |         | | ||||
| | fromJSON                      | false  |       |       |         | | ||||
| | fromTOML                      | true   |       |       |         | | ||||
| | functionArgs                  | false  |       |       |         | | ||||
| | genList                       | false  |       |       |         | | ||||
| | genericClosure                | false  |       |       | todo    | | ||||
| | getAttr                       | false  |       |       |         | | ||||
| | getContext                    | false  |       |       | context | | ||||
| | getEnv                        | false  |       | false |         | | ||||
| | hasAttr                       | false  |       |       |         | | ||||
| | hasContext                    | false  |       |       | context | | ||||
| | hashFile                      | false  |       | false | todo    | | ||||
| | hashString                    | false  |       |       | todo    | | ||||
| | 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  |       |       | todo    | | ||||
| | nixVersion                    | false  |       |       | todo    | | ||||
| | null                          | true   |       |       |         | | ||||
| | parseDrvName                  | false  |       |       |         | | ||||
| | partition                     | false  |       |       |         | | ||||
| | path                          | false  |       | sometimes | store | | ||||
| | pathExists                    | false  |       | false |         | | ||||
| | placeholder                   | true   |       |       | context | | ||||
| | readDir                       | false  |       | false |         | | ||||
| | readFile                      | false  |       | false |         | | ||||
| | removeAttrs                   | true   |       |       |         | | ||||
| | replaceStrings                | false  |       |       |         | | ||||
| | scopedImport                  | true   |       |       |         | | ||||
| | seq                           | false  |       |       |         | | ||||
| | sort                          | false  |       |       |         | | ||||
| | split                         | false  |       |       | todo    | | ||||
| | splitVersion                  | false  |       |       |         | | ||||
| | storeDir                      | false  |       |       | store   | | ||||
| | storePath                     | false  |       |       | store   | | ||||
| | stringLength                  | false  |       |       |         | | ||||
| | sub                           | false  |       |       |         | | ||||
| | substring                     | false  |       |       |         | | ||||
| | tail                          | false  |       |       |         | | ||||
| | throw                         | true   |       |       |         | | ||||
| | toFile                        | false  |       |       | store   | | ||||
| | toJSON                        | false  |       |       | todo    | | ||||
| | toPath                        | false  |       |       |         | | ||||
| | toString                      | true   |       |       |         | | ||||
| | toXML                         | false  |       |       | todo    | | ||||
| | trace                         | false  |       |       |         | | ||||
| | true                          | true   |       |       |         | | ||||
| | tryEval                       | false  |       |       |         | | ||||
| | typeOf                        | false  |       |       |         | | ||||
| | unsafeDiscardOutputDependency | false  |       |       | context | | ||||
| | unsafeDiscardStringContext    | false  |       |       | context | | ||||
| | unsafeGetAttrPos              | false  |       |       | todo    | | ||||
| | valueSize                     | false  |       |       | todo    | | ||||
| 
 | ||||
| ## Added after C++ Nix 2.3 (without Flakes enabled) | ||||
| 
 | ||||
| | name          | global | arity | pure  | | ||||
| |---------------|--------|-------|-------| | ||||
| | break         | false  | 1     |       | | ||||
| | ceil          | false  | 1     | true  | | ||||
| | fetchTree     | true   | 1     |       | | ||||
| | floor         | false  | 1     | true  | | ||||
| | groupBy       | false  | 2     | true  | | ||||
| | traceVerbose  | false  | 2     |       | | ||||
| | zipAttrsWith  | false  | 2     | true  | | ||||
| | name          | global | arity | pure  | impl  | | ||||
| |---------------|--------|-------|-------|-------| | ||||
| | break         | false  | 1     |       | todo  | | ||||
| | ceil          | false  | 1     | true  |       | | ||||
| | fetchTree     | true   | 1     |       | todo  | | ||||
| | floor         | false  | 1     | true  |       | | ||||
| | groupBy       | false  | 2     | true  |       | | ||||
| | traceVerbose  | false  | 2     |       | todo  | | ||||
| | zipAttrsWith  | false  | 2     | true  | todo  | | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue