Commit f07ce646 authored by Dave Cooper's avatar Dave Cooper

Starting to remove unneeded clutter.

parent ff5b2c3c
;;;
;; Copyright 2012 Genworks International
;; Copyright 2013 Genworks International
;;
;; This file is part of the General-purpose Declarative
;; Language project (Gendl).
......@@ -20,21 +20,27 @@
;;
Welcome to the General-purpose Declarative Language ("Gendl")
Open-Source Distribution.
Welcome to the General-purpose Declarative Language ("Gendl").
What is this?
=============
Gendl is a Generative Knowledge Based Engineering framework. It allows
Gendl is a Generative Programming and Knowledge Based Engineering
framework, building on concepts dating back to the 1980s. It allows
for high-level declarative, object-oriented problem solving and
application development, including but not limited to the ability to
generate and manipulate 3D geometry. To solve a problem in Gendl, you
formulate it using the "define-object" operator, which allows you to
specify inputs, outputs (computed slots), and child objects (which
gives the ability to generate a "tree" of objects, useful for
decomposing complexity). A graphical web-based interface, tasty, is
available for interacting with your system as you develop it.
specify inputs, outputs (computed slots), and child objects, which
then gives the ability to generate a "tree" of objects, useful for
decomposing complexity.
A graphical web-based interface, tasty, is available for interacting
with your system as you develop it.
The web-based GUI framework used to make tasty (GWL) is also available
for creating your own custom web-based user interfaces.
Gendl provides the fundamental KBE features of:
......@@ -54,8 +60,9 @@ under the AGPL with the Gendl project. These primitives provide a
protocol for what the objects should be able to do (i.e. what messages
they should answer), but without the SMLib library and associated
middleware available, they will not be able to return any results.
The SMLib kernel and associated middleware are available as commercial
products from http://genworks.com.
The SMLib kernel and associated middleware are available as part of
the commercial Genworks GDL product Genworks International
(http://genworks.com).
If you have a different favorite solid modeling kernel
(e.g. OpenCascade, Parasolid, Geometros sgCore), then it may be
......@@ -64,26 +71,24 @@ implementing the methods in surf/source/methods.lisp.
Gendl is distributed under AGPL, which has the requirement that you
release your updates and any applications compiled with Gendl under
AGPL-compatible license (if distributed at all).
AGPL-compatible license (if distributed at all).
Proprietary (closed-source) licenses, support, fully functional
commercial builds, surface/solid modeling kernel, and training are
available from Genworks as well. These are described in the
Configurator section on http://genworks.com.
For Proprietary (closed-source) development and distribution, the
commercial Genworks GDL system is available from http://genworks.com.
Current Requirements:
1. Common Lisp: Allegro CL 9.0, LispWorks 6.x, SBCL, or CCL (Clozure
CL).
CL). Without web interface, initial ports to ECL, ABCL, and CLISP
have also been completed.
2. Quicklisp (available from http://www.quicklisp.org)
To load the entire system, you can do it with:
(ql:quickload :genworks-gdl)
(gdl:start-gdl :edition :open-source)
(ql:quickload :gendl)
(gdl:initialize)
Now you can do a quick sanity test by visiting:
......@@ -94,7 +99,7 @@ in your browser and trying to instantiate the default assembly tree
(robot).
Slime (Emacs Editor integration) is recommended for editing GDL
applications with Emacs. Slime is available with
applications with Emacs. Slime is available with:
(ql:quickload :quicklisp-slime-helper)
......@@ -104,14 +109,14 @@ are also in progress and in their current state are available in the
Documentation section on http://genworks.com.
To help in understanding the role of each module, the overall GDL
To help in understanding the role of each module, the overall Gendl
source architecture is partially described below.
GDL source code Architecture:
Gendl source code Architecture:
=============================
GDL is separated into layered components, some of which depend on
Gendl is separated into layered components, some of which depend on
others. Some components also depend on third-party external libraries,
which are currently handled with the Quicklisp system.
......@@ -120,9 +125,7 @@ the folder gdl/base/. This includes the compiler/expanders for
"define-object" and related macros as well as core primitives such as
vanilla-mixin.
Including gdl-base, there are approximately 12 modules supported with
GDL. One is proprietary and closed-source, the others are open-source
under AGPL.
Including gdl-base, there are eight modules supported with Gendl:
:gdl-base - (gdl/base/) Gendl language kernel.
......@@ -152,14 +155,8 @@ under AGPL.
geometry kernel middleware or implementation.
:gdl-smlib - (proprietary) add-on to implement :surf primitives with
middleware and SMLib geometry kernel
:gdl-yadd - (gdl/apps/yadd/) self auto-documentation.
:gdl-build - (gdl/build/) Utilities for building development and
runtime images with various GDL modules built-in.
(defsystem #:apps :description
"Auto-generated asdf defsys from Genworks GenDL cl-lite. Please avoid hand-editing."
:author "Dave Cooper and Genworks International" :license
"Gnu Affero General Public License (please see http://www.gnu.org/licenses/)"
:serial t :version "20130314" :depends-on nil :components
((:file "ta2/source/package")
(:file "ta2/source/parameters")
(:file "ta2/source/javascript")
(:file "ta2/source/action-object")
(:file "ta2/source/ajax") (:file "ta2/source/assembly")
(:file "ta2/source/click-mode")
(:file "ta2/source/inspector")
(:file "ta2/source/object-tree")
(:file "ta2/source/part-type-form")
(:file "ta2/source/publish")
(:file "ta2/source/viewport")))
\ No newline at end of file
(:tree :gwl-graphics)
(defsystem #:gdl-tasty
:description
"Auto-generated asdf defsys from Genworks GDL cl-lite."
:author
"Genworks and Dave Cooper unless otherwise indicated"
:license
"AGPL unless otherwise indicated"
:serial
t
:version
"2013031000"
:depends-on
(:gdl-tree :gdl-gwl-graphics)
:components
(defsystem #:tasty :description
"Auto-generated asdf defsys from Genworks GenDL cl-lite. Please avoid hand-editing."
:author "Dave Cooper and Genworks International" :license
"Gnu Affero General Public License (please see http://www.gnu.org/licenses/)"
:serial t :version "20130314" :depends-on
(:tree :gwl-graphics) :components
((:file "source/package") (:file "source/parameters")
(:file "source/assembly") (:file "source/inspector")
(:file "source/menu") (:file "source/new-inspector")
......
(defsystem #:tree :description
"Auto-generated asdf defsys from Genworks GenDL cl-lite. Please avoid hand-editing."
:author "Dave Cooper and Genworks International" :license
"Gnu Affero General Public License (please see http://www.gnu.org/licenses/)"
:serial t :version "20130314" :depends-on (:gwl-graphics)
:components
((:file "source/package") (:file "source/parameters")
(:file "source/ajax") (:file "source/assembly")
(:file "source/newertree")))
\ No newline at end of file
......@@ -29,10 +29,6 @@
#+allegro (mapcar #'(lambda(pair) (intern (first pair) :keyword)) excl::*autoload-package-name-alist*)
)))
#-(or allegro lispworks sbcl ccl) (error "Need implementation for package-documentation for the currently running Lisp.~%")
(defun package-documentation (package)
#+(or allegro lispworks ccl) (documentation (find-package package) t)
#+sbcl (sb-kernel:package-doc-string (find-package package)))
#-(or allegro lispworks sbcl cmu ccl) (error "Need implementation for function-documentation for the currently running Lisp.~%")
......
(defsystem #:gdl-yadd
:description
"Auto-generated asdf defsys from Genworks GDL cl-lite."
:author
"Genworks and Dave Cooper unless otherwise indicated"
:license
"AGPL unless otherwise indicated"
:serial
t
:version
"2013031000"
:depends-on
(:gdl-gwl-graphics)
(defsystem #:yadd :description
"Auto-generated asdf defsys from Genworks GenDL cl-lite. Please avoid hand-editing."
:author "Dave Cooper and Genworks International" :license
"Gnu Affero General Public License (please see http://www.gnu.org/licenses/)"
:serial t :version "20130314" :depends-on (:gwl-graphics)
:components
((:file "source/package") (:file "source/genworks")
(:file "source/mixins")
......
(asdf:defsystem #:gdl-base :description
(asdf:defsystem #:base :description
"Auto-generated asdf defsys from Genworks GDL cl-lite."
:author
"Genworks and Dave Cooper unless otherwise indicated"
......@@ -8,7 +8,7 @@
:components
((:file "common/package")
(:file "common/genworks")
(:file "common/start-gdl")
(:file "common/start-gendl")
(:file "prereqs/source/parameters")
(:file "prereqs/source/metaclasses")
(:file "prereqs/source/utilities")
......
......@@ -35,16 +35,16 @@
(eval-when (:compile-toplevel :load-toplevel :execute)
(defun set-genworks-source-home-if-known ()
(when (find-package :asdf)
(multiple-value-bind (gdl-base-home error)
(ignore-errors (funcall (read-from-string "asdf:system-source-directory") "gdl-base"))
(multiple-value-bind (base-home error)
(ignore-errors (funcall (read-from-string "asdf:system-source-directory") "base"))
(if (typep error 'error)
(warn "~&ASDF is loaded, but :gdl-base is not registered. glisp:*genworks-source-home* remains unknown and set to nil.~%")
(warn "~&ASDF is loaded, but :base is not registered. glisp:*genworks-source-home* remains unknown and set to nil.~%")
(setq *genworks-source-home*
(make-pathname :name nil
:type nil
:directory (butlast
(butlast (pathname-directory gdl-base-home)))
:defaults gdl-base-home)))))))
(butlast (pathname-directory base-home)))
:defaults base-home)))))))
(set-genworks-source-home-if-known)
......@@ -77,6 +77,9 @@
(progn (warn "Don't know how to get executable-homedir-pathname on ~a! Please find out.~%"
(lisp-implementation-type)) nil))
(defparameter *gendl-program-home* *gdl-program-home*)
(defparameter *gdl-home* #-abcl
(make-pathname :name nil
:type nil
......@@ -86,6 +89,8 @@
(progn (warn "Don't know how to get *gdl-home* on ABCL! Please find out.~%")
nil))
(defparameter *gendl-home* *gdl-home*)
;;
;; FLAG -- bind these redefinitions more precisely/surgically. for
......@@ -269,6 +274,14 @@
#+ccl :weak #+ccl :key #+ccl :test #+ccl #'eq
args))
#-(or allegro lispworks sbcl ccl)
(error "Need implementation for package-documentation for the currently running Lisp.~%")
(defun package-documentation (package)
#+(or allegro lispworks ccl) (documentation (find-package package) t)
#+sbcl (sb-kernel:package-doc-string (find-package package)))
(defun set-default-float-format ()
#+allegro (tpl:setq-default *read-default-float-format* 'double-float)
#+ccl (ccl::def-standard-initial-binding *read-default-float-format* 'double-float)
......@@ -409,16 +422,3 @@
,@body)))