diff options
Diffstat (limited to 'src/hyper/pages/expose.ht')
-rw-r--r-- | src/hyper/pages/expose.ht | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/src/hyper/pages/expose.ht b/src/hyper/pages/expose.ht new file mode 100644 index 00000000..bf55a2c9 --- /dev/null +++ b/src/hyper/pages/expose.ht @@ -0,0 +1,115 @@ +% Copyright The Numerical Algorithms Group Limited 1991. +% Certain derivative-work portions Copyright (C) 1988 by Leslie Lamport. +% All rights reserved + +\begin{page}{helpExpose}{Exposure} +\beginscroll +Exposure determines what part of the \Language{} library +is available to you when using \Language{}. +At any time during your interactive \Language{} session, +each constructor is either {\em exposed} or {\em unexposed}. +If a constructor is exposed, its operations are available to +the interpreter and therefore to you. +If a constructor is unexposed, the operations are not seen +by the interpreter and thus not available to you. +\par +If you are a beginner, you may only want +basic parts of the library exposed. +If you are an expert, you may want to have all parts of the +library exposed. +If you have an application that requires +only a segment of the library, you may want to arrange to expose +only that segment for your use. +\par +\endscroll +Additional Information: +\beginmenu +\menulink{What}{ExposureDef}\tab{8}What is an exposure group? +\menulink{System}{ExposureSystem}\tab{8}What exposure groups are system defined? +% \menulink{User}{ExposureUser}\tab{8}How can I define my own? +\menulink{Details}{ExposureDetails}\tab{8}Some details on exposure +\endmenu +\end{page} + +\begin{page}{ExposureSystem}{System Defined Exposure Groups} +\beginscroll +Exposure is defined by {\em groups}. +Groups have names. +Seven exposure groups are system-defined:\beginmenu +\item\tab{3}{\em current}\tab{12}The currently active exposure group +\item\tab{3}{\em basic}\tab{12}The default value of {\em current} +\item\tab{3}{\em category}\tab{13}Category constructors not in {\em basic} +\item\tab{3}{\em domain}\tab{13}Domain constructors not in {\em basic} +\item\tab{3}{\em package}\tab{13}Package constructors not in {\em basic} +\item\tab{3}{\em default}\tab{13}Default constructors not in {\em basic} +\item\tab{3}{\em hidden}\tab{13}All constructors not in {\em basic} +\item\tab{3}{\em naglink}\tab{13}All constructors used in the AXIOM NAG Link +\endmenu +\par +When you first use \Language{}, the {\em current} exposure group is +set to {\em basic} and {\em naglink}. Using \HyperName{} or the system command +{\em expose}, you may +change the current exposure group by +adding or dropping constructors or by setting {\em current} +to an exposure group you have created. +\endscroll +Additional Information: +\beginmenu +\menulink{What}{ExposureDef}\tab{10}What is an exposure group? +%\menulink{User}{ExposureUser}\tab{10}How you can define your own exposure group +\endmenu +\end{page} + +\begin{page}{ExposureDef}{What is an Exposure Group?} +\beginscroll +\par +An exposure group is a list of constructors to be exposed. +Those constructors on the list are exposed; +those not on the list are not exposed. +The library contains 4 kinds of constructors intuitively described as follows: +\beginmenu +\item\menuitemstyle{}{\em domain}\tab{10}Describes computational objects and functions defined on these objects +\item\menuitemstyle{}{\em package}\tab{10}Describes functions which will work over a variety of domains +\item\menuitemstyle{}{\em category}\tab{10}Names a set of operations +\item\menuitemstyle{}{\em default}\tab{10}Provides default functions for a cateogry +\endmenu + +An exposure group is defined by three lists: +\beginmenu +\item\menuitemstyle{}{\em groups}\tab{13}A list of other (more basic) groups +\item\menuitemstyle{}{\em additions}\tab{13}A list of explicit constructors to be included +\item\menuitemstyle{}{\em subtractions}\tab{13}A list of explicit constructors to be dropped +\endmenu +You can define your own exposure groups: give them names and define the +three above lists to be anything you like. +Using \HyperName{}, you can conveniently edit your exposure groups, +install them as the {\em current} exposure, and so on. +\endscroll +\end{page} + +\begin{page}{ExposureDetails}{Details on Exposure} +\beginscroll +Exposure is generally defined by the set of domain and package constructors +you want to have available. +Category and default constructors are generally implied. +A category constructor is exposed if mentioned by {\em any} other constructor +(including another category). +A default constructor is exposed if its corresponding category constructor is exposed. +\par +If you explicitly add a domain or package +constructor, its name will be put in an {\em Additions} list. +The system will also add automatically to the {\em Additions} list +any category explicity exported by that domain or package. +If that category has a corresponding default constructor, that +default constructor will also be added as well. +\par +If you like, you can explicitly drop a constructor. +Any such name is added to the {\em Subtractions} list. +The system will drop this name from the {\em Additions} list if it appears. +\par +If the package or domain takes arguments from an unexported +domain or declares that its arguments can come from a domain +which is a member of an unexported category, these constructors +will {\em not} be added. +\endscroll +\end{page} |