Commit 1f67928d authored by Dave Cooper's avatar Dave Cooper
Browse files

Merge branch 'training'

parents 15a6cc91 38e412dd
;;;; -*- encoding: utf-8; -*-
(asdf:defsystem #:training :description
"The Gendl™ training Subsystem" :author
"Dave Cooper and Genworks International" :license
"Gnu Affero General Public License (please see http://www.gnu.org/licenses/)"
:serial t :version "20130508" :depends-on (:smlib)
#+asdf-encoding :encoding #+asdf-encoding :utf-8
:components
((:file "slide-show/source/package")
(:gendl "slide-show/source/assembly")
(:file "slide-show/source/publish") (:file "g101/source/package")
(:file "g101/source/publish")
(:file "g101/examples/source/file-io")
(:file "g101/examples/source/solutions")
(:file "g101/slides/source/assembly")
(:file "g101/slides/source/conclusion")
(:file "g101/slides/source/control")
(:file "g101/slides/source/data-structures")
(:file "g101/slides/source/functions")
(:file "g101/slides/source/input-output")
(:file "g101/slides/source/introduction")
(:file "g101/slides/source/lists")
(:file "g101/slides/source/macros")
(:file "g101/slides/source/numbers")
(:file "g101/slides/source/symbols")
(:file "g101/slides/source/welcome") (:file "g102/source/package")
(:file "g102/source/publish")
(:file "g102/examples/ackermann/source/package")
(:file "g102/examples/ackermann/source/ackermann-assembly")
(:file "g102/examples/ackermann/source/simple-linkage")
(:file "g102/examples/ackermann/source/tie-rod-arm")
(:file "g102/examples/city/source/package")
(:file "g102/examples/city/source/rules")
(:file "g102/examples/city/source/assembly")
(:file "g102/examples/city/source/building")
(:file "g102/examples/city/source/grid-section")
(:file "g102/examples/solids/source/primitives")
(:file "g102/examples/solids/source/web-page")
(:file "g102/examples/source/fuselage-example")
(:file "g102/examples/source/g102-exercises")
(:file "g102/examples/source/hairy")
(:file "g102/examples/source/section-2-examples")
(:file "g102/examples/source/tower-example")
(:file "g102/examples/table/source/t-support")
(:file "g102/examples/table/source/table")
(:file "g102/slides/source/assembly")
(:file "g102/slides/source/debugging")
(:file "g102/slides/source/fuselage-example")
(:file "g102/slides/source/future")
(:file "g102/slides/source/geometry")
(:file "g102/slides/source/outside-world")
(:file "g102/slides/source/session-01")
(:file "g102/slides/source/session-02")
(:file "g102/slides/source/session-03")
(:file "g102/slides/source/session-04")
(:file "g102/slides/source/session-05")
(:file "g102/slides/source/session-06")
(:file "g102/slides/source/session-07")
(:file "g102/slides/source/tower-example")
(:file "g102/slides/source/user-interface")
(:file "g102/solutions/ackermann/source/package")
(:file "g102/solutions/ackermann/source/ackermann-assembly")
(:file "g102/solutions/ackermann/source/simple-linkage")
(:file "g102/solutions/ackermann/source/tie-rod-arm")
(:file "g102/solutions/city/source/package")
(:file "g102/solutions/city/source/rules")
(:file "g102/solutions/city/source/assembly")
(:file "g102/solutions/city/source/building")
(:file "g102/solutions/city/source/grid-section")
(:file "g102-tud/source/package") (:file "g102-tud/source/publish")
(:file "g102-tud/examples/source/ch2-examples")
(:file "g102-tud/examples/source/ch3-examples")
(:gdl "g102-tud/examples/source/primi-plane")
(:gdl "g102-tud/examples/source/ui-primi-plane")
(:file "g102-tud/slides/source/ch2")
(:file "g102-tud/slides/source/ch3") (:file "g105/source/package")
(:file "g105/source/publish")
(:file "g105/examples/source/drilled-block")
(:file "g105/slides/source/assembly")
(:file "g105/slides/source/session-01")
(:file "g105/slides/source/session-02")
(:file "g108/source/package") (:file "g108/source/publish")
(:file "g108/examples/source/examples")
(:file "g108/slides/source/ajax-sections")
(:file "g108/slides/source/assembly")
(:file "g108/slides/source/basic-sheet")))
...@@ -67,27 +67,33 @@ ...@@ -67,27 +67,33 @@
\BOOKMARK [0][-]{chapter.9}{More Common Lisp for Gendl}{}% 67 \BOOKMARK [0][-]{chapter.9}{More Common Lisp for Gendl}{}% 67
\BOOKMARK [0][-]{chapter.10}{Advanced Gendl}{}% 68 \BOOKMARK [0][-]{chapter.10}{Advanced Gendl}{}% 68
\BOOKMARK [0][-]{chapter.11}{Gendl Reference}{}% 69 \BOOKMARK [0][-]{chapter.11}{Gendl Reference}{}% 69
\BOOKMARK [1][-]{section.11.1}{ENT }{chapter.11}% 70 \BOOKMARK [1][-]{section.11.1}{CL-LITE \(Compile-and-Load Lite Utility\)}{chapter.11}% 70
\BOOKMARK [1][-]{section.11.2}{GDL \(General-purpose Declarative Language\)}{chapter.11}% 71 \BOOKMARK [2][-]{subsection.11.1.1}{Object Definitions}{section.11.1}% 71
\BOOKMARK [2][-]{subsection.11.2.1}{Object Definitions}{section.11.2}% 72 \BOOKMARK [2][-]{subsection.11.1.2}{Function and Macro Definitions}{section.11.1}% 72
\BOOKMARK [2][-]{subsection.11.2.2}{Function and Macro Definitions}{section.11.2}% 73 \BOOKMARK [1][-]{section.11.2}{COM.GENWORKS.DOM }{chapter.11}% 73
\BOOKMARK [2][-]{subsection.11.2.3}{Variables and Constants}{section.11.2}% 74 \BOOKMARK [1][-]{section.11.3}{COM.GENWORKS.DOM-HTML }{chapter.11}% 74
\BOOKMARK [1][-]{section.11.3}{GDL-BUILD }{chapter.11}% 75 \BOOKMARK [1][-]{section.11.4}{COM.GENWORKS.DOM-LATEX }{chapter.11}% 75
\BOOKMARK [2][-]{subsection.11.3.1}{Object Definitions}{section.11.3}% 76 \BOOKMARK [1][-]{section.11.5}{COM.GENWORKS.DOM-WRITERS }{chapter.11}% 76
\BOOKMARK [1][-]{section.11.4}{GDL-USER }{chapter.11}% 77 \BOOKMARK [1][-]{section.11.6}{COM.YOYODYNE.BOOSTER-ROCKET }{chapter.11}% 77
\BOOKMARK [1][-]{section.11.5}{GENDL-DOC }{chapter.11}% 78 \BOOKMARK [1][-]{section.11.7}{GENDL \(Base Core Kernel Engine\) Nicknames: Gdl, Genworks, Base}{chapter.11}% 78
\BOOKMARK [1][-]{section.11.6}{GEOM-BASE \(GDL Base Geometry Module\)}{chapter.11}% 79 \BOOKMARK [2][-]{subsection.11.7.1}{Object Definitions}{section.11.7}% 79
\BOOKMARK [2][-]{subsection.11.6.1}{Object Definitions}{section.11.6}% 80 \BOOKMARK [2][-]{subsection.11.7.2}{Function and Macro Definitions}{section.11.7}% 80
\BOOKMARK [2][-]{subsection.11.6.2}{Function and Macro Definitions}{section.11.6}% 81 \BOOKMARK [2][-]{subsection.11.7.3}{Variables and Constants}{section.11.7}% 81
\BOOKMARK [2][-]{subsection.11.6.3}{Variables and Constants}{section.11.6}% 82 \BOOKMARK [1][-]{section.11.8}{GDL-USER }{chapter.11}% 82
\BOOKMARK [1][-]{section.11.7}{GWL \(Generative Web Language\)}{chapter.11}% 83 \BOOKMARK [1][-]{section.11.9}{GENDL-DOC }{chapter.11}% 83
\BOOKMARK [2][-]{subsection.11.7.1}{Object Definitions}{section.11.7}% 84 \BOOKMARK [1][-]{section.11.10}{GEOM-BASE \(Wireframe Geometry\)}{chapter.11}% 84
\BOOKMARK [2][-]{subsection.11.7.2}{Function and Macro Definitions}{section.11.7}% 85 \BOOKMARK [2][-]{subsection.11.10.1}{Object Definitions}{section.11.10}% 85
\BOOKMARK [2][-]{subsection.11.7.3}{Variables and Constants}{section.11.7}% 86 \BOOKMARK [2][-]{subsection.11.10.2}{Function and Macro Definitions}{section.11.10}% 86
\BOOKMARK [1][-]{section.11.8}{RAPHAEL }{chapter.11}% 87 \BOOKMARK [2][-]{subsection.11.10.3}{Variables and Constants}{section.11.10}% 87
\BOOKMARK [1][-]{section.11.9}{ROBOT }{chapter.11}% 88 \BOOKMARK [1][-]{section.11.11}{GWL \(Generative Web Language \(GWL\)\)}{chapter.11}% 88
\BOOKMARK [1][-]{section.11.10}{SURF \(GDL NURBS Surface and Solids Facility\)}{chapter.11}% 89 \BOOKMARK [2][-]{subsection.11.11.1}{Object Definitions}{section.11.11}% 89
\BOOKMARK [1][-]{section.11.11}{TREE }{chapter.11}% 90 \BOOKMARK [2][-]{subsection.11.11.2}{Function and Macro Definitions}{section.11.11}% 90
\BOOKMARK [2][-]{subsection.11.11.1}{Object Definitions}{section.11.11}% 91 \BOOKMARK [2][-]{subsection.11.11.3}{Variables and Constants}{section.11.11}% 91
\BOOKMARK [1][-]{section.11.12}{YADD \(GDL/GWL Documentation Facility\)}{chapter.11}% 92 \BOOKMARK [1][-]{section.11.12}{RAPHAEL }{chapter.11}% 92
\BOOKMARK [2][-]{subsection.11.12.1}{Object Definitions}{section.11.12}% 93 \BOOKMARK [1][-]{section.11.13}{ROBOT \(Simplified Android Robot example \)}{chapter.11}% 93
\BOOKMARK [1][-]{section.11.14}{SURF \(NURBS Surface and Solids Geometry Primitives\)}{chapter.11}% 94
\BOOKMARK [1][-]{section.11.15}{TASTY \(Web-based Development Environment \(tasty\)\)}{chapter.11}% 95
\BOOKMARK [1][-]{section.11.16}{TREE \(Tree component used by Tasty and potentially as a UI component on its own\)}{chapter.11}% 96
\BOOKMARK [2][-]{subsection.11.16.1}{Object Definitions}{section.11.16}% 97
\BOOKMARK [1][-]{section.11.17}{YADD \(Yet Another Definition Documenter \(yadd\)\)}{chapter.11}% 98
\BOOKMARK [2][-]{subsection.11.17.1}{Object Definitions}{section.11.17}% 99
...@@ -340,6 +340,8 @@ Gendl is currently tested to build on the following Common Lisp engines: ...@@ -340,6 +340,8 @@ Gendl is currently tested to build on the following Common Lisp engines:
\item LispWorks (commercial product from LispWorks Ltd, free Personal Edition available) \item LispWorks (commercial product from LispWorks Ltd, free Personal Edition available)
\item Clozure CL (free CL engine from Clozure Associates, free for all use)
\item Steel Bank Common Lisp (SBCL) (free open-source project with permissive license) \item Steel Bank Common Lisp (SBCL) (free open-source project with permissive license)
\end{itemize} \end{itemize}
...@@ -379,20 +381,20 @@ As of this writing, Quicklisp is rapidly becoming the defacto standard library m ...@@ -379,20 +381,20 @@ As of this writing, Quicklisp is rapidly becoming the defacto standard library m
\subsubsection{Startup of prepackaged Gendl distribution} \subsubsection{Startup of prepackaged Gendl or GDL distribution}
\label{subsubsec:startupofprepackagedgendldistribution} \label{subsubsec:startupofprepackagedgendlorgdldistribution}
To start a prepackaged system, follow these steps: To start a prepackaged system, follow these steps:
\begin{enumerate} \begin{enumerate}
\item Invoke the \texttt{run-gdl.bat} (Windows), or \texttt{run-gdl} (Linux, MacOS) startup script. This should launch Gnu Emacs with a \item Invoke the \texttt{run-gdl.bat} (Windows), or \texttt{run-gdl} (Linux, MacOS) startup script, or launch the bundle executable if you installed a self-extracting application bundle.
README file displayed by default. Take the time to look through this README file. This should launch Gnu Emacs with a README file displayed by default. Take the time to look through this README file.
Especially the later part of the file contains information about Emacs keyboard Especially the later part of the file contains information about Emacs keyboard
shortcuts available. shortcuts available.
\item In emacs, enter: \texttt{M-x glime}. That is, hold down the ``Meta'' (or ``Alt'') key, and press the ``X'' key, then type ``glime.'' \item In emacs, enter: \texttt{M-x gendl} or \texttt{M-x gdl}. That is, hold down the ``Meta'' (or ``Alt'') key, and press the ``X'' key, then type ``gendl'' or ``gdl''
You will see this command shown in the \emph{mini-buffer} at the bottom of the Emacs window, as shown in Figure You will see this command shown in the \emph{mini-buffer} at the bottom of the Emacs window, as shown in Figure
\ref{fig:mini-buffer} \ref{fig:mini-buffer}
...@@ -420,7 +422,7 @@ You will see this command shown in the \emph{mini-buffer} at the bottom of the E ...@@ -420,7 +422,7 @@ You will see this command shown in the \emph{mini-buffer} at the bottom of the E
\end{figure} \end{figure}
\item On Windows, you will get a new window, named the the \index{Genworks Gendl Console}Genworks Gendl Console, as shown in Figure \item On Windows, you will get a new window, named the the \index{Genworks Gendl Console}Genworks Gendl Console or \index{Genworks GDL Console}Genworks GDL Console, as shown in Figure
\ref{fig:genworks-gendl-console}. This window might start out in minimized form (as an icon at the bottom of your screen). Click on it \ref{fig:genworks-gendl-console}. This window might start out in minimized form (as an icon at the bottom of your screen). Click on it
to open it. Watch this console for any errors or warnings. to open it. Watch this console for any errors or warnings.
...@@ -437,7 +439,7 @@ for Gendl. After these messages have finished, you should see the following comm ...@@ -437,7 +439,7 @@ for Gendl. After these messages have finished, you should see the following comm
\texttt{\index{gdl-user(1): }gdl-user(1): } \texttt{\index{gdl-user(1): }gdl-user(1): }
The Genworks GenDL console contains a command prompt, but mostly you will use the \index{*slime-repl...*}*slime-repl...* buffer in Emacs to type commands. The Genworks GenDL console is mainly used for The Genworks Gendl or GDL console contains a command prompt, but mostly you will use the \index{*slime-repl...*}*slime-repl...* buffer in Emacs to type commands. The Genworks GDL console is mainly used for
displaying output text from the Gendl system and from your application. displaying output text from the Gendl system and from your application.
\end{enumerate} \end{enumerate}
...@@ -3564,19 +3566,101 @@ from files containing raw Common Lisp code. ...@@ -3564,19 +3566,101 @@ from files containing raw Common Lisp code.
\section{ENT } \section{CL-LITE (Compile-and-Load Lite Utility)}
\label{sec:cl-lite(compile-and-loadliteutility)}
\subsection{Object Definitions}
\label{subsec:objectdefinitions}
\begin{itemize}
\item \index{CODEBASE-DIRECTORY-NODE}CODEBASE-DIRECTORY-NODE
Mixins: DIRECTORY-NODE
\end{itemize}
\subsection{Function and Macro Definitions}
\label{subsec:functionandmacrodefinitions}
\begin{itemize}
\item \index{CL-PATCH}CL-PATCH
\end{itemize}
\section{COM.GENWORKS.DOM }
\label{sec:com.genworks.dom}
\label{sec:ent}
\section{COM.GENWORKS.DOM-HTML }
\section{GDL (General-purpose Declarative Language)} \label{sec:com.genworks.dom-html}
\label{sec:gdl(general-purposedeclarativelanguage)}
\section{COM.GENWORKS.DOM-LATEX }
\label{sec:com.genworks.dom-latex}
\section{COM.GENWORKS.DOM-WRITERS }
\label{sec:com.genworks.dom-writers}
\section{COM.YOYODYNE.BOOSTER-ROCKET }
\label{sec:com.yoyodyne.booster-rocket}
\section{GENDL (Base Core Kernel Engine) Nicknames: Gdl, Genworks, Base}
\label{sec:gendl(basecorekernelengine)nicknames:gdl,genworks,base}
...@@ -3592,22 +3676,52 @@ from files containing raw Common Lisp code. ...@@ -3592,22 +3676,52 @@ from files containing raw Common Lisp code.
\item \index{BASE-RULE-OBJECT}BASE-RULE-OBJECT \item \index{BASE-RULE-OBJECT}BASE-RULE-OBJECT
\item \index{CODEBASE-DIRECTORY-NODE}CODEBASE-DIRECTORY-NODE Mixins: VANILLA-MIXIN
\item \index{MATRIX-SEQUENCE}MATRIX-SEQUENCE \item \index{MATRIX-SEQUENCE}MATRIX-SEQUENCE
Mixins: STANDARD-SEQUENCEVANILLA-MIXIN
\item \index{NULL-OBJECT}NULL-OBJECT \item \index{NULL-OBJECT}NULL-OBJECT
Mixins: VANILLA-MIXIN
\item \index{QUANTIFICATION}QUANTIFICATION \item \index{QUANTIFICATION}QUANTIFICATION
Mixins: VANILLA-MIXIN
\item \index{RADIAL-SEQUENCE}RADIAL-SEQUENCE \item \index{RADIAL-SEQUENCE}RADIAL-SEQUENCE
Mixins: STANDARD-SEQUENCEVANILLA-MIXIN
\item \index{STANDARD-SEQUENCE}STANDARD-SEQUENCE \item \index{STANDARD-SEQUENCE}STANDARD-SEQUENCE
Mixins: QUANTIFICATION
\item \index{VANILLA-MIXIN*}VANILLA-MIXIN* \item \index{VANILLA-MIXIN*}VANILLA-MIXIN*
Mixins: STANDARD-OBJECT
\item \index{VARIABLE-SEQUENCE}VARIABLE-SEQUENCE \item \index{VARIABLE-SEQUENCE}VARIABLE-SEQUENCE
Mixins: QUANTIFICATION
\end{itemize} \end{itemize}
...@@ -3628,8 +3742,6 @@ from files containing raw Common Lisp code. ...@@ -3628,8 +3742,6 @@ from files containing raw Common Lisp code.
\item \index{CL-LITE}CL-LITE \item \index{CL-LITE}CL-LITE
\item \index{CL-PATCH}CL-PATCH
\item \index{CYCLIC-NTH}CYCLIC-NTH \item \index{CYCLIC-NTH}CYCLIC-NTH
\item \index{DEFAULTING}DEFAULTING [Macro] \item \index{DEFAULTING}DEFAULTING [Macro]
...@@ -3736,7 +3848,7 @@ from files containing raw Common Lisp code. ...@@ -3736,7 +3848,7 @@ from files containing raw Common Lisp code.
\item \index{TWICE}TWICE \item \index{TWICE}TWICE
\item \index{DEFINE-OBJECT}UNDEFINE-OBJECT \item \index{UNDEFINE-OBJECT}UNDEFINE-OBJECT
\item \index{UNIVERSAL-TIME-FROM-ISO-8601}UNIVERSAL-TIME-FROM-ISO-8601 \item \index{UNIVERSAL-TIME-FROM-ISO-8601}UNIVERSAL-TIME-FROM-ISO-8601
...@@ -3754,6 +3866,8 @@ from files containing raw Common Lisp code. ...@@ -3754,6 +3866,8 @@ from files containing raw Common Lisp code.
\item \index{WRITE-THE-OBJECT}WRITE-THE-OBJECT [Macro] \item \index{WRITE-THE-OBJECT}WRITE-THE-OBJECT [Macro]
\item \index{^2}^2
\end{itemize} \end{itemize}
...@@ -3798,6 +3912,12 @@ from files containing raw Common Lisp code. ...@@ -3798,6 +3912,12 @@ from files containing raw Common Lisp code.
\item \index{*ROOT-CHECKING-ENABLED?*}*ROOT-CHECKING-ENABLED?* \item \index{*ROOT-CHECKING-ENABLED?*}*ROOT-CHECKING-ENABLED?*
\item \index{*RUN-WITH-CIRCULAR-REFERENCE-DETECTION?*}*RUN-WITH-CIRCULAR-REFERENCE-DETECTION?*
\item \index{*RUN-WITH-DEPENDENCY-TRACKING?*}*RUN-WITH-DEPENDENCY-TRACKING?*
\item \index{*UNDECLARED-PARAMETERS-ENABLED?*}*UNDECLARED-PARAMETERS-ENABLED?*
\item \index{*ZERO-EPSILON*}*ZERO-EPSILON* \item \index{*ZERO-EPSILON*}*ZERO-EPSILON*
\item \index{+PHI+}+PHI+ \item \index{+PHI+}+PHI+
...@@ -3812,144 +3932,276 @@ from files containing raw Common Lisp code. ...@@ -3812,144 +3932,276 @@ from files containing raw Common Lisp code.
\section{GDL-BUILD } \section{GDL-USER }
\label{sec:gdl-build} \label{sec:gdl-user}
\subsection{Object Definitions}
\label{subsec:objectdefinitions}
\section{GENDL-DOC }
\label{sec:gendl-doc}
\begin{itemize}
\item \index{APP}APP
\end{itemize}
\section{GEOM-BASE (Wireframe Geometry)}
\section{GDL-USER } \label{sec:geom-base(wireframegeometry)}
\label{sec:gdl-user}
\subsection{Object Definitions}
\label{subsec:objectdefinitions}
\section{GENDL-DOC }
\label{sec:gendl-doc} \begin{itemize}
\item \index{ANGULAR-DIMENSION}ANGULAR-DIMENSION
Mixins: LINEAR-DIMENSIONVANILLA-MIXIN
\item \index{ARC}ARC
Mixins: ARCOID-MIXINBASE-OBJECT
\section{GEOM-BASE (GDL Base Geometry Module)}
\label{sec:geom-base(gdlbasegeometrymodule)}
\item \index{ARCOID-MIXIN}ARCOID-MIXIN
Mixins: VANILLA-MIXIN
\subsection{Object Definitions} \item \index{BASE-COORDINATE-SYSTEM}BASE-COORDINATE-SYSTEM
\label{subsec:objectdefinitions} Mixins: BASE-OBJECTVANILLA-MIXIN
\begin{itemize} \item \index{BASE-DRAWING}BASE-DRAWING
\item \index{ANGULAR-DIMENSION}ANGULAR-DIMENSION Mixins: BASE-OBJECT
\item \index{ARC}ARC
\item \index{ARCOID-MIXIN}ARCOID-MIXIN
\item \index{BASE-COORDINATE-SYSTEM}BASE-COORDINATE-SYSTEM \item \index{BASE-OBJECT}BASE-OBJECT
Mixins: VANILLA-MIXIN
\item \index{BASE-DRAWING}BASE-DRAWING
\item \index{BASE-OBJECT}BASE-OBJECT
\item \index{BASE-VIEW}BASE-VIEW \item \index{BASE-VIEW}BASE-VIEW
Mixins: BASE-OBJECT
\item \index{BEZIER-CURVE}BEZIER-CURVE \item \index{BEZIER-CURVE}BEZIER-CURVE
Mixins: BASE-OBJECT
\item \index{BOX}BOX \item \index{BOX}BOX
Mixins: BASE-OBJECT
\item \index{C-CYLINDER}C-CYLINDER \item \index{C-CYLINDER}C-CYLINDER