src/module-output.lisp: Introduce `module-output-file'.
[sod] / doc / output.tex
index 5fd689e..0423178 100644 (file)
@@ -139,6 +139,12 @@ until the third.  So the final processing order is
 \begin{describe}{cls}{sequencer () \&key :constraints}
 \end{describe}
 
+\begin{describe*}
+    {\dhead{fun}{sequencer-constraints @<sequencer> @> @<list>}
+     \dhead{fun}{setf (sequencer-constraints @<sequencer>) @<list>}
+     \dhead{fun}{sequencer-table @<sequencer> @> @<hash-table>}}
+\end{describe*}
+
 \begin{describe}{fun}{ensure-sequencer-item @<sequencer> @<name> @> @<item>}
 \end{describe}
 
@@ -146,26 +152,74 @@ until the third.  So the final processing order is
 \end{describe}
 
 \begin{describe}{fun}
+    {add-sequencer-item-function @<sequencer> @<name> @<function>}
+\end{describe}
+
+\begin{describe}{fun}
     {invoke-sequencer-items @<sequencer> \&rest @<arguments>}
 \end{describe}
 
 \begin{describe}{gf}{hook-output progn @<object> @<reason> @<sequencer>}
-  \begin{describe}{meth}
+  \begin{describe}{meth}{t,t}
     {hook-output progn (@<object> t) (@<reason> t) @<sequencer>}
   \end{describe}
 \end{describe}
 
 \begin{describe}{mac}
-    {sequence-output (@<stream-var> @<sequencer>) \\ \ind
-      @{ :constraint (@<item-name>^*) @} \\
+    {sequence-output (@<stream-var> @<sequencer>)               \\ \ind
+      @{ :constraint (@<item-name>^*) @}                        \\
       @{ (@<item-name> @<form>^*) @}^*}
 \end{describe}
 
 %%%--------------------------------------------------------------------------
+\section{Module output} \label{output.module}
+
+\subsection{Producing output}
+
+\begin{describe}{gf}
+    {module-output-file @<module> @<output-type> @<output-dir>
+      @> @<pathname>}
+  \begin{describe*}
+      {\dhead{meth}{module,symbol}
+          {module-output-file \=(@<module> module)              \\
+                              \>(@<output-type> symbol)         \\
+                              \>@<output-dir>
+           \nlret @<pathname>}
+       \dhead{meth}{module,pathname}
+          {module-output-file \=(@<module> module)              \\
+                              \>(@<output-type> pathname)       \\
+                              \>@<output-dir>
+           \nlret @<pathname>}}
+  \end{describe*}
+\end{describe}
+
+\begin{describe}{fun}{output-module @<module> @<reason> @<stream>}
+\end{describe}
+
+
+\subsection{Managing output types} \label{output.module.manage}
 
+\begin{describe}{fun}{declare-output-type @<reason> @<pathname>}
+\end{describe}
+
+\begin{describe}{fun}{output-type-pathname @<reason> @> @<pathname>}
+\end{describe}
 
 
+\subsection{Utilities} \label{output.module.utilities}
+
+\begin{describe}{fun}{banner @<title> @<output> \&key :blank-line-p}
+\end{describe}
+
+\begin{describe}{fun}{guard-name @<filename> @> @<string>}
+\end{describe}
+
+\begin{describe}{fun}
+    {one-off-output @<token> @<sequencer> @<item-name> @<function>}
+\end{describe}
+
 %%%--------------------------------------------------------------------------
+\section{Class output} \label{output.class}
 
 \begin{describe}{var}{*instance-class*}
 \end{describe}
@@ -181,6 +235,9 @@ until the third.  So the final processing order is
 %% includes
 %% includes end
 %% classes start
+%% early-user start
+%% early-user
+%% early-user end
 %% CLASS banner
 %% CLASS islots start
 %% CLASS islots slots
@@ -211,6 +268,9 @@ until the third.  So the final processing order is
 %% CLASS conversions
 %% CLASS object
 %% classes end
+%% user start
+%% user
+%% user end
 %% guard end
 %% epilogue
 
@@ -220,6 +280,9 @@ until the third.  So the final processing order is
 %% includes start
 %% includes
 %% includes end
+%% early-user start
+%% early-user
+%% early-user end
 %% classes start
 %% CLASS banner
 %% CLASS direct-methods start
@@ -248,6 +311,9 @@ until the third.  So the final processing order is
 %% CLASS object CHAIN-HEAD ichain end
 %% CLASS object end
 %% classes end
+%% user start
+%% user
+%% user end
 %% epilogue
 
 %%%----- That's all, folks --------------------------------------------------