Commit 5e7538b0 authored by Dave Cooper's avatar Dave Cooper

merged latest red-pen edits, updated formatting for reference section, of manual.

parent 7cc315ba
......@@ -362,11 +362,12 @@ If you specify :part-symbol-supplied, do not specify :instance-supplied."))
(the symbol)))
,(if (getf (fourth value) :type)
`(:emph ,(replace-substring
(getf (fourth value) :type)
"-dot-" ".")) "")
`(:emph ,(net.html.parser:parse-html
(replace-substring
(getf (fourth value) :type)
"-dot-" "."))) "")
,(getf (fourth value) :intro)
(:p ,@(net.html.parser:parse-html (getf (fourth value) :intro)))
))
values))))))
......
......@@ -261,11 +261,10 @@ The javascript loaded is jquery."
(remove nil
`(:item
(:index ,(format nil "~a" (the-object documentation symbol)))
,(format nil "~a~a"
(the-object documentation symbol)
(if (the-object documentation :macro?)
" [Macro]" ""))
(:textbf ,(format nil "~a~a"
(the-object documentation symbol)
(if (the-object documentation :macro?)
" [Macro]" "")))
,@(the-object documentation dom-body))))
documentations))))))
......
This diff is collapsed.
......@@ -22,6 +22,6 @@
(in-package :gendl-doc)
(defparameter *advanced-gendl*
`((:chapter :title "Advanced Gendl")
`((:chapter :title "Advanced GDL")
))
......@@ -29,7 +29,9 @@
:oddsidemargin 0
:evensidemargin 0
:pdfimageresolution "135"
:title "GenDL Unified Documentation"
:usepackage ("datetime")
:title "Genworks GDL: A User's Manual"
:date ("\\monthname\\ \\the\\year")
:author "Dave Cooper"
:usepackage ("dvips" "graphicx")
:usepackage ("usenames, dvipsnames" "color")
......
......@@ -25,8 +25,8 @@
`((:chapter :title "Basic Operation of the GDL Environment")
"This chapter will lead you through all the basic steps of
operating a typical GDL-based development environment. We will not go
into any depth about the additional features of the environment or
language syntax in this section --- this is merely for getting
into particular depth about the additional features of the environment
or language syntax in this section --- this is merely for getting
familiar and practicing with the mechanics of operating the
environment with a keyboard."
......@@ -39,8 +39,8 @@ system is running you can "
(:emph "definitions")
" of functions, objects, etc, and they will immediately become
available as part of the running system, and you can begin testing
them immediately or update an existing set of objects to observe their
new behavior.
them immediately, or update an existing set of objects to observe
their new behavior.
In many other programming language systems, to introduce a new
function or object, one has "
......@@ -56,7 +56,9 @@ application's definitions in order to bring the system back into a
state where it can instantiate (or ``run'') your application.
While this can be done manually at the command-line, it is typically
done automatically in one of two ways:"
done "
(:emph "automatically")
" in one of two ways:"
(:ol
(:li "using commands placed into
the "
......
......@@ -360,7 +360,7 @@ of the form controls within the " (:texttt "with-html-form") " macro.")
((:boxed-figure :caption "Form Controls and Fillout Forms"
:label "fig:gwl-3b")
(:small (:verbatim (:include "~/gendl/documentation/tutorial/examples/gwl-3b.gdl"))))
(:tiny (:verbatim (:include "~/gendl/documentation/tutorial/examples/gwl-3b.gdl"))))
((:image-figure :image-file "gwl-3b.png" :caption "Form Controls and Fillout Forms"
:width "4in" :height "3in"
......@@ -409,10 +409,11 @@ unchanged. This ability is not present in some other Ajax
frameworks.")
((:subsection :title "Steps to Create a gdlAjax Application")
(:p "First, it is important to understand that the fundamentals from the
previous section on Standard Web Applications still apply for gdlAjax
applications --- that is, HTML generation, page linking, etc. These
techniques will all still work in a gdlAjax application.")
(:p "Initially, it is important to understand that the
fundamentals from the previous section on Standard Web Applications
still apply for gdlAjax applications --- that is, HTML generation,
page linking, etc. These techniques will all still work in a gdlAjax
application.")
(:p "To produce a gdlAjax application involves three main differences from
a standard web application:"
......@@ -444,7 +445,7 @@ a standard web application:"
((:boxed-figure :caption "Partial Page Updates with GdlAjax"
:label "fig:gwl-4")
(:small (:verbatim (:include "~/gendl/documentation/tutorial/examples/gwl-4.gdl")))))
(:tiny (:verbatim (:include "~/gendl/documentation/tutorial/examples/gwl-4.gdl")))))
(:p "Note the following from the example in Figure "
(:ref "fig:gwl-4") ":"
......@@ -569,7 +570,7 @@ can be controlled with other optional input-slots.")
((:boxed-figure :caption "Including Graphics in a Web Page"
:label "fig:gwl-5")
(:small (:verbatim (:include "~/gendl/documentation/tutorial/examples/gwl-5.gdl"))))
(:tiny (:verbatim (:include "~/gendl/documentation/tutorial/examples/gwl-5.gdl"))))
((:image-figure :image-file "gwl-5.png" :caption "Including Graphics"
......
......@@ -50,7 +50,7 @@ Gnu Emacs)."
(:footnote "Gnu Emacs is included with the download. The source code for this
is available at http://downloads.genworks.com/emacs-windows-24.3.zip. Gnu Ghostscript
is also included; please contact Genworks if you need the source code for this."))
(:item "Click to receive license key file by email.")))
(:item "Click to receive the license key file by email.")))
((:subsection :title "Unpack the Distribution")
"Genworks GDL is currently distributed as a setup executable for Windows,
......
......@@ -25,7 +25,7 @@
`((:chapter :title "Introduction")
((:section :title "Welcome")
"Congratulations on your decision to work with Genworks GDL"
"Congratulations on your decision to work with Genworks\\textsuperscript{\\textregistered} GDL\\texttrademark"
(:footnote "From time to time, you will also see references to
``Gendl.'' This refers to ``The Gendl Project'' which is the name of
an open-source software project from which Genworks GDL draws for its
......@@ -36,12 +36,11 @@ Gendl Project compiler must be distributed as open-source under a
compatible license (if distributed at all). Commercial Genworks GDL,
properly licensed for development and/or runtime distribution, does
not have this ``copyleft'' open-sourcing requirement.")
". By investing some of your valuable time into learning this
system you will be investing in your future productivity and, in the
process, you will become part of a quiet revolution. Although you may
have come to Genworks GDL because of an interest in 3D modeling or
mechanical engineering, you will find that a whole new world, and a
unique approach to "
". By investing time to learn this system you will be investing
in your future productivity and, in the process, you will be joining a
quiet revolution. Although you may have come to Genworks GDL because
of an interest in 3D modeling or mechanical engineering, you will find
that a whole new world, and a unique approach to "
(:emph "computing")
", will now be at your fingertips as well.")
......@@ -51,16 +50,16 @@ or Knowledge "
(:emph "Based")
" Systems, from college textbooks or corporate marketing
literature, and concluded that the concepts were too broad to be of
practical use. Or you may have heard criticisms of the
practical use. Or you may have heard criticisms implicit in the
pretentious-sounding name, ``Knowledge-based Engineering,'' as in:
``you mean as opposed to "
(:indexed "Ignorance-based Engineering")
"?''
To provide a clearer picture, we hope you will agree that our concept
of a KB system is straightforward, relatively uncomplicated, and
practical. In this manual our goal is to make you comfortable
and motivated to explore the ideas we have implemented in our flagship
To provide a clearer picture, we hope you will concur that Genworks'
concept of a KB system is straightforward, relatively uncomplicated,
and practical. In this manual our goal is to make you both comfortable
and motivated to explore the ideas we have built into our flagship
system, Genworks GDL.
Our informal definition of a "
......@@ -78,9 +77,10 @@ computed values, but do not modify the in-memory state of any data values.")
(:emph (:indexed "Caching"))
" and "
(:emph (:indexed "Dependency tracking"))
". Caching means that once the KB has computed something, it might not need to repeat
that computation if the same question is asked again. Dependency tracking is the flip side
of that coin --- it ensures that if a cached result is "
". Caching means that once the KB has computed something, it
generally will not need to repeat that computation if the same
question is asked again. Dependency tracking is the flip side of that
coin --- it ensures that if a cached result is "
(:emph "stale")
", the result will be recomputed the next time it is "
(:emph "demanded")
......@@ -95,13 +95,13 @@ of that coin --- it ensures that if a cached result is "
(:cite "LaRocca")
"."
(:quote
"Knowlege based engineering (KBE) is a technology based on the
use of dedicated software tools called KBE systems, which are able to
capture and systematically re-use product and process engineering
knowledge, with the final goal of reducing time and costs of product
development by means of the following:"
"Knowlege based engineering (KBE) is a technology predicated on
the use of dedicated software tools called KBE systems, which are able
to capture and systematically re-use product and process engineering
knowledge, with the final goal of reducing the time and costs of
product development by means of the following:"
(:ul (:li "Automation of repetitive and non-creative design tasks;")
(:li "Support of multidisciplinary design optimization in all the
(:li "Support of multidisciplinary design optimization in all
phases of the design process"))))
......@@ -149,9 +149,7 @@ in hundreds of branches and include thousands of attributes. Hence,
the ability to evaluate specific attributes and product model branches
at demand, without the need to evaluate the whole model from its root,
prevents waste of computational resources and in many cases brings
seemingly intractible problems into the realm of the tractible."))
seemingly intractible problems to a rapid and solution."))
((:section :title "Object-oriented Systems")
(:quote "An object-oriented system is composed of
......@@ -177,7 +175,7 @@ seemingly intractible problems into the realm of the tractible."))
interviews with stakeholders or other interested parties. The
task to be addressed might be divided into several subtasks (or
domains), each representing a different business,
technological, or other area of business. Each subtask would be
technological, or other area of interest. Each subtask would be
analyzed separately. Implementation
constraints (e.g. concurrency, distribution, persistence, or
how the system is to be built) are not considered during the
......@@ -186,14 +184,14 @@ seemingly intractible problems into the realm of the tractible."))
(:p "The conceptual model that results from OOA will typically consist of a
set of use cases, one or more UML class diagrams, and a number of
interaction diagrams. It may also include some kind of user interface.")))
interaction diagrams. It may also include some form of user interface.")))
((:section :title "Object-oriented Design")
(:quote
"During the object-oriented design (OOD) phase, a developer
applies implementation constraints to the conceptual model produced in
object-oriented analysis. Such constraints could include not only
constraints imposed by the chosen architecture but also any
those imposed by the chosen architecture but also any
non-functional --- technological or environmental --- constraints,
such as transaction throughput, response time, run-time platform,
development environment, or those inherent in the programming
......@@ -274,11 +272,13 @@ the size and complexity of the application.")
(:li "GDL is also a "
(:emph (:indexed "declarative"))
" language in the fullest sense. When you put together a GDL application, you write and think mainly
in terms of objects and their properties, and how they depend on one another in a direct
sense. You do not have to track in your mind explicitly how one object or property will ``call''
another object or propery, in what order this will happen, etc. Those details are
taken care of for you automatically by the language.")
" language in the fullest sense. When you put together a
GDL application, you write and think mainly in terms of objects and
their properties, and how they depend on one another in a direct
sense. You do not have to track in your mind explicitly how one object
or property will ``call'' another object or propery, in what order
this will happen, etc. Those details are taken care of for you
automatically by the embedded language.")
(:li "Because GDL is object-oriented, you have all the features you would normally expect
from an object-oriented language, such as "
......@@ -305,11 +305,11 @@ and Generic Function models of object-orientation."
of Object-oriented Programming.")
".")))
((:section :title "Why GDL (what is GDL good for?)")
((:section :title "Why GDL (i.e., what is GDL good for?)")
((:list :style :itemize)
(:item "Organizing and integrating large amounts of information
in ways not possible or not practical using conventional languages or
conventional relational database technology alone;")
(:item "Organizing and integrating large amounts of
information in ways not possible, or not practical, using conventional
languages or conventional relational database technology alone;")
(:item "Evaluating many design or engineering alternatives and
performing various kinds of optimizations within specified design
spaces, and doing so very rapidly;")
......@@ -327,8 +327,8 @@ surface, and solid geometric objects.")))
(:item "A CAD system (although it may operate on and/or generate geometric entities);")
(:item "A drawing program (although it may operate on and/or generate geometric entities);")
(:item "An Artificial Intelligence system (although it is an
excellent environment for developing capabilities which could be
considered as such);")
excellent environment for developing capabilities which could qualify
as such);")
(:item "An Expert System Shell (although one could be easily embedded within it).")))
"Without further definitions, let's turn the page and get
......
......@@ -23,9 +23,9 @@
(defparameter *understanding-common-lisp*
`((:chapter :title "Understanding Common Lisp")
(:p "GDL is a superset of Common Lisp, and is embedded in Common
Lisp. This means that when working with GDL you have the full power
of CL available to you. The lowest-level expressions in a GDL
(:p "GDL is a superset of Common Lisp, and is ``embedded'' in
Common Lisp. This means that when working with GDL you have the full
power of CL available to you. The lowest-level expressions in a GDL
definition are CL ``symbolic expressions,'' or ``s-expressions.''
This chapter will familiarize you with CL s-expressions.")
((:section :title "S-expression Fundamentals")
......@@ -52,9 +52,11 @@ toplevel "
(:emph "prefix")
" notation, which means that they consist of either an "
(:emph "atom")
" (e.g. number, text string, symbol) or a list (one or more
items enclosed by parentheses, where the first item is
taken as a symbol which names an operator). Here is an example: "
" (e.g. number, text string, symbol) or a "
(:emph "list")
" (one or more items enclosed by parentheses, where the
first item is taken as a symbol which names an
operator). Here is an example: "
(:verbatim "(+ 2 2)")
......@@ -218,7 +220,7 @@ substituted into the format-string at the point where it occurs.")
" on Input/Output, but for now, a familiarity with the simple use of "
(:texttt "(format nil ...)")
" will be helpful for Chapter "
(:ref "chap:understandinggdlcoregdlsyntax")
(:ref "chap:understandinggdl---coregdlsyntax")
"."))
......
......@@ -25,8 +25,8 @@
`((:chapter* :title "Upgrade Notes")
"GDL 1580 marked the end of a major branch of GDL development,
and 1581 was actually a major new version. Together with 1581, an
open-source version was released under the name ``The Gendl Project.''
and 1581 was actually a major new version, which now has been
supplanted by 1582.
This addendum lists the typical modifications you will want to
consider for upgrading from GDL 1580 to GDL 1582 or later."
......@@ -38,8 +38,8 @@ consider for upgrading from GDL 1580 to GDL 1582 or later."
made available an Enterprise Edition of 1582 which includes the
make-gdl-app function, which creates Runtime applications without the
compiler or GDL development facilities. If you are an Enterprise
licensee, are ready to release Runtime applications on 1582, and you
have not received information on the Enterprise Edition, please
licensee, and are ready to release Runtime applications on 1582, and
you have not received information on the Enterprise Edition, please
contact support@genworks.com")
(:item "(register-asdf-systems) and the "
......
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