Commit 8e8d605d authored by Dave Cooper's avatar Dave Cooper
Browse files

updating manual

parent b966c0c6
\relax
\ifx\hyper@anchor\@undefined
\global \let \oldcontentsline\contentsline
\gdef \contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global \let \oldnewlabel\newlabel
\gdef \newlabel#1#2{\newlabelxx{#1}#2}
\gdef \newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\let \contentsline\oldcontentsline
\let \newlabel\oldnewlabel}
\else
\global \let \hyper@last\relax
\fi
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{1}{chapter.1}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
......@@ -38,7 +41,7 @@
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.2}Unpack the Distribution}{5}{subsection.2.1.2}}
\newlabel{subsec:unpackthedistribution}{{2.1.2}{5}{Unpack the Distribution\relax }{subsection.2.1.2}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces Several Gendl versions and one GPL }}{6}{figure.2.1}}
\newlabel{fig:gendl-installation}{{2.1}{6}{Several Gendl versions and one GPL \relax }{figure.2.1}{}}
\newlabel{fig:gendl-installation}{{2.1}{6}{Several Gendl versions and one GPL\relax }{figure.2.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.3}Make a Desktop Shortcut}{6}{subsection.2.1.3}}
\newlabel{subsec:makeadesktopshortcut}{{2.1.3}{6}{Make a Desktop Shortcut\relax }{subsection.2.1.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.4}Populate your Initialization File}{6}{subsection.2.1.4}}
......@@ -99,10 +102,14 @@
\newlabel{subsec:sourcefileswithinasource/subdirectory}{{3.3.2}{17}{Source Files within a source/ subdirectory\relax }{subsection.3.3.2}{}}
\@writefile{toc}{\contentsline {subsubsection}{Enforcing Ordering}{17}{section*.4}}
\newlabel{subsubsec:enforcingordering}{{3.3.2}{17}{Enforcing Ordering\relax }{section*.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.4}Customizing your Environment}{17}{section.3.4}}
\newlabel{sec:customizingyourenvironment}{{3.4}{17}{Customizing your Environment\relax }{section.3.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.5}Saving the World}{17}{section.3.5}}
\newlabel{sec:savingtheworld}{{3.5}{17}{Saving the World\relax }{section.3.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.6}Starting up a Saved World}{18}{section.3.6}}
\newlabel{sec:startingupasavedworld}{{3.6}{18}{Starting up a Saved World\relax }{section.3.6}{}}
\newlabel{chap:upgradenotes}{{3.6}{19}{Upgrade Notes\relax }{chapter*.5}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}Generating an ASDF System}{17}{subsection.3.3.3}}
\newlabel{subsec:generatinganasdfsystem}{{3.3.3}{17}{Generating an ASDF System\relax }{subsection.3.3.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.4}Compiling and Loading a System}{18}{subsection.3.3.4}}
\newlabel{subsec:compilingandloadingasystem}{{3.3.4}{18}{Compiling and Loading a System\relax }{subsection.3.3.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.4}Customizing your Environment}{18}{section.3.4}}
\newlabel{sec:customizingyourenvironment}{{3.4}{18}{Customizing your Environment\relax }{section.3.4}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.5}Saving the World}{18}{section.3.5}}
\newlabel{sec:savingtheworld}{{3.5}{18}{Saving the World\relax }{section.3.5}{}}
\@writefile{toc}{\contentsline {section}{\numberline {3.6}Starting up a Saved World}{19}{section.3.6}}
\newlabel{sec:startingupasavedworld}{{3.6}{19}{Starting up a Saved World\relax }{section.3.6}{}}
\newlabel{chap:upgradenotes}{{3.6}{21}{Upgrade Notes\relax }{chapter*.5}{}}
This is makeindex, version 2.15 [TeX Live 2009] (kpathsea + Thai support).
This is makeindex, version 2.15 [TeX Live 2012] (kpathsea + Thai support).
Scanning input file tutorial.idx....done (15 entries accepted, 0 rejected).
Sorting entries....done (70 comparisons).
Generating output file tutorial.ind....done (49 lines written, 0 warnings).
......
This diff is collapsed.
\BOOKMARK [0][-]{chapter.1}{Introduction}{}
\BOOKMARK [1][-]{section.1.1}{Welcome}{chapter.1}
\BOOKMARK [1][-]{section.1.2}{Knowledge Base Concepts According to Genworks}{chapter.1}
\BOOKMARK [1][-]{section.1.3}{Goals for this Tutorial}{chapter.1}
\BOOKMARK [1][-]{section.1.4}{What is GenDL?}{chapter.1}
\BOOKMARK [1][-]{section.1.5}{Why GDL \(what is GDL good for?\)}{chapter.1}
\BOOKMARK [1][-]{section.1.6}{What GDL is not}{chapter.1}
\BOOKMARK [0][-]{chapter.2}{Installation}{}
\BOOKMARK [1][-]{section.2.1}{Installation of pre-packaged Gendl}{chapter.2}
\BOOKMARK [2][-]{subsection.2.1.1}{Download the Software and retrieve a license key}{section.2.1}
\BOOKMARK [2][-]{subsection.2.1.2}{Unpack the Distribution}{section.2.1}
\BOOKMARK [2][-]{subsection.2.1.3}{Make a Desktop Shortcut}{section.2.1}
\BOOKMARK [2][-]{subsection.2.1.4}{Populate your Initialization File}{section.2.1}
\BOOKMARK [1][-]{section.2.2}{Installation of open-source Gendl}{chapter.2}
\BOOKMARK [2][-]{subsection.2.2.1}{Install and Configure your Common Lisp environment}{section.2.2}
\BOOKMARK [2][-]{subsection.2.2.2}{Load and Configure Quicklisp}{section.2.2}
\BOOKMARK [1][-]{section.2.3}{System Startup and Testing}{chapter.2}
\BOOKMARK [2][-]{subsection.2.3.1}{System Startup}{section.2.3}
\BOOKMARK [2][-]{subsection.2.3.2}{Basic System Test}{section.2.3}
\BOOKMARK [2][-]{subsection.2.3.3}{Full Regression Test}{section.2.3}
\BOOKMARK [1][-]{section.2.4}{Getting Help and Support}{chapter.2}
\BOOKMARK [0][-]{chapter.3}{Basic Operation of the Gendl Environment}{}
\BOOKMARK [1][-]{section.3.1}{What is Different about Gendl?}{chapter.3}
\BOOKMARK [1][-]{section.3.2}{Startup, ``Hello, World!'' and Shutdown}{chapter.3}
\BOOKMARK [2][-]{subsection.3.2.1}{Startup}{section.3.2}
\BOOKMARK [2][-]{subsection.3.2.2}{Developing and Testing a Gendl ``Hello World'' application}{section.3.2}
\BOOKMARK [2][-]{subsection.3.2.3}{Shutdown}{section.3.2}
\BOOKMARK [1][-]{section.3.3}{Working with Projects}{chapter.3}
\BOOKMARK [2][-]{subsection.3.3.1}{Directory Structure}{section.3.3}
\BOOKMARK [2][-]{subsection.3.3.2}{Source Files within a source/ subdirectory}{section.3.3}
\BOOKMARK [1][-]{section.3.4}{Customizing your Environment}{chapter.3}
\BOOKMARK [1][-]{section.3.5}{Saving the World}{chapter.3}
\BOOKMARK [1][-]{section.3.6}{Starting up a Saved World}{chapter.3}
\BOOKMARK [0][-]{chapter.1}{Introduction}{}% 1
\BOOKMARK [1][-]{section.1.1}{Welcome}{chapter.1}% 2
\BOOKMARK [1][-]{section.1.2}{Knowledge Base Concepts According to Genworks}{chapter.1}% 3
\BOOKMARK [1][-]{section.1.3}{Goals for this Tutorial}{chapter.1}% 4
\BOOKMARK [1][-]{section.1.4}{What is GenDL?}{chapter.1}% 5
\BOOKMARK [1][-]{section.1.5}{Why GDL \(what is GDL good for?\)}{chapter.1}% 6
\BOOKMARK [1][-]{section.1.6}{What GDL is not}{chapter.1}% 7
\BOOKMARK [0][-]{chapter.2}{Installation}{}% 8
\BOOKMARK [1][-]{section.2.1}{Installation of pre-packaged Gendl}{chapter.2}% 9
\BOOKMARK [2][-]{subsection.2.1.1}{Download the Software and retrieve a license key}{section.2.1}% 10
\BOOKMARK [2][-]{subsection.2.1.2}{Unpack the Distribution}{section.2.1}% 11
\BOOKMARK [2][-]{subsection.2.1.3}{Make a Desktop Shortcut}{section.2.1}% 12
\BOOKMARK [2][-]{subsection.2.1.4}{Populate your Initialization File}{section.2.1}% 13
\BOOKMARK [1][-]{section.2.2}{Installation of open-source Gendl}{chapter.2}% 14
\BOOKMARK [2][-]{subsection.2.2.1}{Install and Configure your Common Lisp environment}{section.2.2}% 15
\BOOKMARK [2][-]{subsection.2.2.2}{Load and Configure Quicklisp}{section.2.2}% 16
\BOOKMARK [1][-]{section.2.3}{System Startup and Testing}{chapter.2}% 17
\BOOKMARK [2][-]{subsection.2.3.1}{System Startup}{section.2.3}% 18
\BOOKMARK [2][-]{subsection.2.3.2}{Basic System Test}{section.2.3}% 19
\BOOKMARK [2][-]{subsection.2.3.3}{Full Regression Test}{section.2.3}% 20
\BOOKMARK [1][-]{section.2.4}{Getting Help and Support}{chapter.2}% 21
\BOOKMARK [0][-]{chapter.3}{Basic Operation of the Gendl Environment}{}% 22
\BOOKMARK [1][-]{section.3.1}{What is Different about Gendl?}{chapter.3}% 23
\BOOKMARK [1][-]{section.3.2}{Startup, ``Hello, World!'' and Shutdown}{chapter.3}% 24
\BOOKMARK [2][-]{subsection.3.2.1}{Startup}{section.3.2}% 25
\BOOKMARK [2][-]{subsection.3.2.2}{Developing and Testing a Gendl ``Hello World'' application}{section.3.2}% 26
\BOOKMARK [2][-]{subsection.3.2.3}{Shutdown}{section.3.2}% 27
\BOOKMARK [1][-]{section.3.3}{Working with Projects}{chapter.3}% 28
\BOOKMARK [2][-]{subsection.3.3.1}{Directory Structure}{section.3.3}% 29
\BOOKMARK [2][-]{subsection.3.3.2}{Source Files within a source/ subdirectory}{section.3.3}% 30
\BOOKMARK [2][-]{subsection.3.3.3}{Generating an ASDF System}{section.3.3}% 31
\BOOKMARK [2][-]{subsection.3.3.4}{Compiling and Loading a System}{section.3.3}% 32
\BOOKMARK [1][-]{section.3.4}{Customizing your Environment}{chapter.3}% 33
\BOOKMARK [1][-]{section.3.5}{Saving the World}{chapter.3}% 34
\BOOKMARK [1][-]{section.3.6}{Starting up a Saved World}{chapter.3}% 35
......@@ -903,6 +903,65 @@ Now our sample application directory looks like Figure
\end{figure}
\subsection{Generating an ASDF System}
\label{subsec:generatinganasdfsystem}
ASDF stands for Another System Definition Facility, which
is the predominant system in use for Common Lisp third-party
libraries. With Gendl, you can use the \texttt{:create-asd-file?} keyword argument to make cl-lite generate an ASDF system
file instead of actually compiling and loading the system. For example:
\begin{verbatim}(cl-lite "apps/yoyodyne/" :create-asd-file? t)
\end{verbatim}
In order to include a depends-on clause in your ASDF system file, create a file called \texttt{depends-on.isc} in the toplevel directory of your system. In this file,
place a list of the systems your system depends on. This can be
systems from your own local projects, or from third-party libraries.
For example, if your system depends on the \texttt{:cl-json} third-party library, you would have the following contents in your \texttt{depends-on.isc}:
\begin{verbatim}(:cl-json)
\end{verbatim}
\subsection{Compiling and Loading a System}
\label{subsec:compilingandloadingasystem}
Once you have generated an ASDF file, you can compile and
load the system using Quicklisp. To do this for our example, follow these steps:
\begin{enumerate}
\item
\begin{verbatim}(cl-lite "apps/yoyodyne/" :create-asd-file? t)
\end{verbatim} to generate the asdf file for the yoyodyne system. This only has to be done once after every time you add, remove, or rename a file or folder from the system.
\item
\begin{verbatim}(pushnew "apps/yoyodyne/" ql:*local-project-directories*)
\end{verbatim} This can be done in your \texttt{gdlinit.cl} for projects you want available during every development session. Note that you should include
the full path prefix for the directory containing the ASDF system file.
\item
\begin{verbatim}(ql:quickload :gdl-yoyodyne)
\end{verbatim} this will compile and load the actual system. Quicklisp uses ASDF at the low level to compile and
load the systems, and Quicklisp will fetch any depended-upon third-party libraries from the Internet on-demand.
Source files will be compiled only if the corresponding binary (fasl) file does not exist or is older than the
source file. By default, ASDF keeps its binary files in a\emph{cache} directory, separated according to CL platform and operating system. The location of this cache
is system-dependent, but you can see where it is by observing the compile and load process.
\end{enumerate}
\section{Customizing your Environment}
\label{sec:customizingyourenvironment}
......@@ -982,7 +1041,8 @@ In order to start up Gendl using a custom saved image, or ``world,'' follow thes
\item Move the custom saved dxl image to \texttt{gdl.dxl} in the Gendl application
\textt{"program/"} directory.
\item Start Gendl as usual.
\item Start Gendl as usual. Note: you may have to edit the system gdlinit.cl or your home gdlinit.cl
to stop it from loading redundant code which is already in the saved image.
\end{enumerate}
......
......@@ -31,6 +31,8 @@
\contentsline {subsection}{\numberline {3.3.1}Directory Structure}{16}{subsection.3.3.1}
\contentsline {subsection}{\numberline {3.3.2}Source Files within a source/ subdirectory}{17}{subsection.3.3.2}
\contentsline {subsubsection}{Enforcing Ordering}{17}{section*.4}
\contentsline {section}{\numberline {3.4}Customizing your Environment}{17}{section.3.4}
\contentsline {section}{\numberline {3.5}Saving the World}{17}{section.3.5}
\contentsline {section}{\numberline {3.6}Starting up a Saved World}{18}{section.3.6}
\contentsline {subsection}{\numberline {3.3.3}Generating an ASDF System}{17}{subsection.3.3.3}
\contentsline {subsection}{\numberline {3.3.4}Compiling and Loading a System}{18}{subsection.3.3.4}
\contentsline {section}{\numberline {3.4}Customizing your Environment}{18}{section.3.4}
\contentsline {section}{\numberline {3.5}Saving the World}{18}{section.3.5}
\contentsline {section}{\numberline {3.6}Starting up a Saved World}{19}{section.3.6}
......@@ -311,12 +311,55 @@ lexigraphical ordering).")
apps/yoyodyne/booster-rocket/source/package.gdl
apps/yoyodyne/booster-rocket/source/parameters.gdl
apps/yoyodyne/booster-rocket/source/rules.gdl"))
))
)
((:subsection :title "Generating an ASDF System")
(:p "ASDF stands for Another System Definition Facility, which
is the predominant system in use for Common Lisp third-party
libraries. With Gendl, you can use the "
(:texttt ":create-asd-file?")
" keyword argument to make cl-lite generate an ASDF system
file instead of actually compiling and loading the system. For example: "
(:verbatim "(cl-lite \"apps/yoyodyne/\" :create-asd-file? t)"))
(:p "In order to include a depends-on clause in your ASDF system file, create a file called "
(:texttt "depends-on.isc")
" in the toplevel directory of your system. In this file,
place a list of the systems your system depends on. This can be
systems from your own local projects, or from third-party libraries.
For example, if your system depends on the "
(:texttt ":cl-json")
" third-party library, you would have the following contents in your "
(:texttt "depends-on.isc")
": "
(:verbatim "(:cl-json)")))
((:subsection :title "Compiling and Loading a System")
"Once you have generated an ASDF file, you can compile and
load the system using Quicklisp. To do this for our example, follow these steps:"
((:list :style :enumerate)
(:item (:verbatim "(cl-lite \"apps/yoyodyne/\" :create-asd-file? t)")
" to generate the asdf file for the yoyodyne system. This only has to be done once after every time you add, remove, or rename a file or folder from the system.")
(:item (:verbatim "(pushnew \"apps/yoyodyne/\" ql:*local-project-directories*)")
" This can be done in your "
(:texttt "gdlinit.cl")
" for projects you want available during every development session. Note that you should include
the full path prefix for the directory containing the ASDF system file.")
(:item (:verbatim "(ql:quickload :gdl-yoyodyne)")
" this will compile and load the actual system. Quicklisp uses ASDF at the low level to compile and
load the systems, and Quicklisp will fetch any depended-upon third-party libraries from the Internet on-demand.
Source files will be compiled only if the corresponding binary (fasl) file does not exist or is older than the
source file. By default, ASDF keeps its binary files in a"
(:emph "cache")
" directory, separated according to CL platform and operating system. The location of this cache
is system-dependent, but you can see where it is by observing the compile and load process."))))
((:section :title "Customizing your Environment")
" You may customize your environment in several different ways,
for example by loading definitions and settings into your Gendl
......@@ -372,7 +415,8 @@ modules (e.g. gdl-yadd, gdl-tasty) you want to be in your saved image. For examp
" in the Gendl application "
(:textt "\"program/\"")
" directory.")
(:item "Start Gendl as usual.")))))
(:item "Start Gendl as usual. Note: you may have to edit the system gdlinit.cl or your home gdlinit.cl
to stop it from loading redundant code which is already in the saved image.")))))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment