Wikifunctions:Find
You can find things on Wikifunctions by entering some text in the Search box. Matching items are listed for selection after the first keystroke. These matches are limited to Wikifunctions objects (in the main namespace). Disregarding these suggested objects, you can click Search to see results from your default namespaces. On the Search results page, you can add or remove namespaces and choose to keep that selection as your default.
You can also specify a single namespace as the first of your search terms. For example “Wikifunctions: find” will return results from just the Wikifunctions namespace. To search only the main namespace (where the Wikifunctions objects are stored), use just a colon (“:”) for the namespace term. (Currently, the type-ahead search does not recognise a namespace term, treating an initial colon as text to search for.)
For tips on more refined searches, see Using Search.
If you are looking for a Wikifunctions object, there are lists by the type of object. For example:
but we also have:
You can also see a List of all objects. This allows you to see a list of all the pages in a selected namespace on Wikifunctions (in the main namespace, by default). Note that objects are listed in alphabetical order of their unique identifier. This means that Z2 and Z20 are listed after Z19999, for example. Objects with a numerical part below 10000 are “pre-defined”. There is a full list (up to 8999) and the ranges are explained here.
Using Search
You are most likely to find what you are looking for if your interface language has a lot of objects with translations. You can see whether your current interface language has a lot of objects without translations by looking here:
(There is a similar link at the bottom of each list of objects.)
By default, this will give you a list of functions but you can look for other types of objects by changing the type on that page. You can also check other languages. Currently, there are very few functions that do not have a label in English. Any logged in user can add a label, so if you find what you are looking for, please add a label or alias for future reference.
Finding certain types of Persistent object
Persistent objects are found in the main namespace, so any search can begin by specifying that namespace (using a colon). You need to know something about how objects are stored in order to construct more advanced searches. The bare minimum is explained here; please see Wikifunctions:Function model for more details.
An object’s type is given by the value associated with its "Z1K1" Z39. For example, a Z4 is stored as a JSON representation beginning {"Z1K1": "Z4"
. Because quotation marks and terminal colons are ignored in a search (by default), you can simply add Z1K1 Z4
to the search terms to find objects of that type. This will also find other types of object, however. You can get simpler results by also adding other Key references used in the Type, like Z4K2
, to the search terms. For example, “: Z1K1 z4 z4k2” (search is not case sensitive) gives results beginning with Z4. (Adding Z4K5
, rather than Z4K2
, gives even more precise results.)
Finding functions
When looking for functions it can be useful to specify the type of object that the function produces (its output or return type) or what sort of inputs it has (according to an Z17).
A function’s return type is given by the value associated with its Z8K2 Z39. For example, a function that returns a Z13518 will have the value "Z13518" associated with its Z8K2. This means that searching for “: "z8k2 z13518"”should find all the Natural number functions.
A function’s input parameters or “arguments” are given in a list associated with its Z8K1 Z39. Each argument is specified by an object of type Z17 and the argument’s type is given in the value associated with its Z17K1 Key reference. For example, Z10012 has a JSON representation containing “… "Z8K1": ["Z17", {"Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z10012K1"…”. The value associated with the Z17K1 here is “Z6”, meaning that the argument’s type is a Z6. This means that searching for “: reverse "z17K1 z6"” should find this function. More generally (for example):
- “: "Z8K1 Z17 Z1K1 Z17 Z17K1 Z6"” should find all functions whose first argument is a Z6 (but there are hundreds of these).
- “: "Z8K1 Z17 Z1K1 Z17 Z17K1 Z6" "Z17K1 Z40"” should find only those among them where the second or subsequent argument is Boolean.
- This more complex search should find only those where the third or subsequent argument is Boolean.
- Whereas this search should find only those where the third or subsequent argument is Boolean but the second is not.
- “: "Z8K1 Z17 Z1K1 Z17 Z17K1 Z6" "Z17K1 Z40"” should find only those among them where the second or subsequent argument is Boolean.
- “: "Z17K1 Z16098"” should find all functions that have an argument of type Z16098, whether this is the first argument or a subsequent one.
- “: -"Z8K1 Z17 Z1K1 Z17 Z17K1 Z16098" "Z17K1 Z16098"” should find all functions whose first argument is not a Z16098 but a subsequent argument does have that type.
A wide variety of function searches can be constructed using Strings for function searches (Z22849). String for function signature search (Z22973) constructs a search for a given function signature, disregarding the order of arguments (which can be specified in a subsequent search by following the previous examples).
See also
Help, I can’t find…
Please reply here if there is something you can’t find. It would be helpful if you could give one or two examples of searches you have tried. Feel free to list them all!
(And, of course, Functions with both connected tests and connected implementations)