Navigating Around the System

There are many built-in routines and data types in Darwin that we
have not yet encountered. Later chapters
contain a more detailed expository of the common but more complex
functions available. Part - *The Reference Guide*
provides a complete
list of all built-in routines and types
available to the user. Beyond this, there are several fast on-line
ways to look for information regarding built-in tools. The commands

? *topic *

`help`(*topic*) or

`print( topic)`

display information about keywords in Darwin which match

Suppose you would like to know if there is a function available which calculates the square root of a number. To find the appropriate function, one might type

> ? square root;or

> help('square root');

This leads one directly to the function `sqrt()`.

Function sqrt( x:numeric ) Compute the square root of a number.

A list of topics available in the system help is found as follows:

> ? index;Querying the help utility with an item from this list gives more specific information.

A good way to get to know the complement of Darwin tools is to
browse through the output produced by the `names` routine.

> names();This generates a list of all assigned names in your current session. This is especially useful if, during one of your Darwin sessions, you should forget what you have called a variable, data structure or procedure. The forgotten name will appear somewhere in this list. If you accompany the command

> names(real);