Commit d2df457e authored by Dave Cooper's avatar Dave Cooper
Browse files

Use with-compilation-unit to avoid undefined-function warnings when compiling...

Use with-compilation-unit to avoid undefined-function warnings when compiling buffer with SLIME. Added glime and gendl as wrappers for slime to use with M-x glime or M-x gendl
parent b84f539e
...@@ -35,19 +35,41 @@ ...@@ -35,19 +35,41 @@
((:div :class "profile") ((:div :class "profile")
((:div :class "people") ((:div :class "people")
(:h4 "G102: GenDL Quickstart (customized for TU Delft ADM Course)")
(:h4 "Videos: Gendl Introduction to Emacs")
(:p "Use this "
((:a :href "http://www.youtube.com/playlist?list=PLCD0CCC8235C9E988" :target "gdl-videos") (:b "playlist"))
" to play all these videos one after another, or individually:")
(:ol
(:li ((:a :href "http://www.youtube.com/watch?v=1kcspOlfrc4&hd=1" :target "gdl-videos")
"Emacs Tutorial Part 1: Moving around Emacs"))
(:li ((:a :href "http://www.youtube.com/watch?v=7093SgxBQ9M&hd=1" :target "gdl-videos")
"Emacs Tutorial Part 2: Files and Buffers (4:28)"))
(:li ((:a :href "http://www.youtube.com/watch?v=-Wr7X6RV_qw&hd=1" :target "gdl-videos")
"Emacs Tutorial Part 3: Cutting/Copying & Pasting, Searching, Tutorial Conclusion (4:58)"))
(:li ((:a :href "http://www.youtube.com/watch?v=Z4XLEG8Jj3E&hd=1" :target "gdl-videos")
"Introduction to Emacs for Gendl Editing"))
)
(:h4 "G102: GenDL Quickstart (examples customized for TU Delft ADM Course)")
(:p "Slides are available " ((:a :href "http://www.genworks.com/downloads/training-g102-tud/" :target "g102-slides") "here") ", " (:p "Slides are available " ((:a :href "http://www.genworks.com/downloads/training-g102-tud/" :target "g102-slides") "here") ", "
"Sample code " ((:a :href "https://github.com/genworks/Genworks-GDL/blob/master/documentation/training/g102-tud/examples/source/ch2-examples.lisp" "Sample code " ((:a :href "https://github.com/genworks/Genworks-GDL/blob/master/documentation/training/g102-tud/examples/source/ch2-examples.lisp"
:target "gendl-code") "here") :target "gendl-code") "here")
". The exercise solutions will be provided later, after you have had a chance to try them yourself.") ". The exercise solutions will be provided later, after you have had a chance to try them yourself.")
(:h4 "G102: GenDL Quickstart (old slides)") (:h4 "G102: GenDL Quickstart (old slides)")
(:p "Slides are available " ((:a :href "http://www.genworks.com/downloads/training-g102/" :target "g102-slides") "here") ", " (:p "Slides are available " ((:a :href "http://www.genworks.com/downloads/training-g102/" :target "g102-slides") "here") ", "
"Exercise skeletons " ((:a :href "https://github.com/genworks/Genworks-GDL/blob/master/documentation/training/g102/examples/source/g102-exercises.lisp?raw=true" :target "gendl-code") "here") ", and " "Exercise skeletons " ((:a :href "https://github.com/genworks/Genworks-GDL/blob/master/documentation/training/g102/examples/source/g102-exercises.lisp?raw=true" :target "gendl-code") "here") ", and "
"Sample code from the slides " ((:a :href "https://github.com/genworks/Genworks-GDL/blob/master/documentation/training/g102/examples/source/section-2-examples.lisp?raw=true" :target "gendl-code") "here") ".") "Sample code from the slides " ((:a :href "https://github.com/genworks/Genworks-GDL/blob/master/documentation/training/g102/examples/source/section-2-examples.lisp?raw=true" :target "gendl-code") "here") ".")
(:h4 "Lecture Vidoes for Some of the Slides") (:h4 "Lecture Videos for Some of the Slides")
(:p "You can play all the G102 videos, one after another, using this " (:p "You can play all the G102 videos, one after another, using this "
((:a :href "http://www.youtube.com/playlist?list=PLCF84A1DE8098DCE2" :target "gdl-videos") "playlist") ".") ((:a :href "http://www.youtube.com/playlist?list=PLCF84A1DE8098DCE2" :target "gdl-videos") "playlist") ".")
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
((:img :src "/newsite-static/images/logo-transparent.png" :ALT "star-logo" :CLASS "left" :WIDTH "155" ((:img :src "/newsite-static/images/logo-transparent.png" :ALT "star-logo" :CLASS "left" :WIDTH "155"
:height "149")) :height "149"))
(:p (:strong "Genworks") (:p (:strong "Genworks")
" provides General-purpose Declarative Language (GenDL), a Generative Applicaton Development system " provides General-purpose Declarative Language (GenDL), a Generative Application Development system
for creating web-centric Knowledge Based Engineering and Business applications. Based on both ANSI and for creating web-centric Knowledge Based Engineering and Business applications. Based on both ANSI and
de-facto standards, GenDL is generative on many levels, " de-facto standards, GenDL is generative on many levels, "
((:a :href "http://en.wikipedia.org/wiki/Automatic_programming") "generating") ((:a :href "http://en.wikipedia.org/wiki/Automatic_programming") "generating")
......
...@@ -187,8 +187,8 @@ ...@@ -187,8 +187,8 @@
"program\\gdl.exe") "program\\gdl.exe")
"program/gdl")) "program/gdl"))
(defun glime () (interactive) (slime)) (defun glime () (interactive) (cd gdl:*gdl-home*) (slime))
(defun gendl () (interactive) (slime)) (defun gendl () (interactive) (glime))
(defun quit-gendl () (interactive (slime-quit-lisp))) (defun quit-gendl () (interactive (slime-quit-lisp)))
...@@ -242,7 +242,8 @@ ...@@ -242,7 +242,8 @@
(require 'color-theme) (require 'color-theme)
(color-theme-initialize) (color-theme-initialize)
(require 'color-theme-solarized) (require 'color-theme-solarized)
(color-theme-solarized-light) ;;(color-theme-solarized-light)
(color-theme-katester)
;; ;;
;; end of color-theme setup. ;; end of color-theme setup.
......
(:gdl-smlib)
\ No newline at end of file
...@@ -2,9 +2,6 @@ ...@@ -2,9 +2,6 @@
;; Copyright 2012 Genworks International and the Delft University of ;; Copyright 2012 Genworks International and the Delft University of
;; Technology ;; Technology
;; ;;
;; This source file is part of the General-purpose Declarative
;; Language project (GenDL).
;;
;; This source file contains free software: you can redistribute it ;; This source file contains free software: you can redistribute it
;; and/or modify it under the terms of the GNU Affero General Public ;; and/or modify it under the terms of the GNU Affero General Public
;; License as published by the Free Software Foundation, either ;; License as published by the Free Software Foundation, either
...@@ -22,6 +19,8 @@ ...@@ -22,6 +19,8 @@
(in-package :gdl-user) (in-package :gdl-user)
(define-object empty-surface (base-object) (define-object empty-surface (base-object)
;; ;;
;; Empty specs -- will replace with "real" built-in surface ;; Empty specs -- will replace with "real" built-in surface
...@@ -71,18 +70,40 @@ ...@@ -71,18 +70,40 @@
:input-slots :input-slots
(Tmax)) (Tmax))
(define-object wing-with-engine (empty-surface)
:input-slots
((Tmax 800)
(b 20)
(c-root 6 :settable)
(c-tip 3 :settable))
:computed-slots
((c-avg (/ (+ (the c-root) (the c-tip)) 2))
(taper (/ (the c-tip) (the c-root)))
(S (* (the b) (the c-avg)))
(A (/ (expt (the b) 2) (the S))))
:objects
((engine :type 'engine
:Tmax (the Tmax))))
(define-object wing-with-engines (empty-surface) (define-object wing-with-engines (empty-surface)
:input-slots :input-slots
((Tmax-list (list 1000 800 900 1200) :settable) ((Tmax-list (list 1000 800 900 1200) :settable)
(c-root 6 :settable) (c-root 6 :settable)
(c-tip 3 :settable) (c-tip 3 :settable)
(other-inputs "...")) (b 20))
:computed-slots :computed-slots
((Tmax-total (sum-elements (the engines) (the-element Tmax))) ((Tmax-total (sum-elements (the engines) (the-element Tmax)))
(c-avg (/ (+ (the c-root) (the c-tip)) 2))
(other-slots "...")) (taper (/ (the c-tip) (the c-root)))
(S (* (the b) (the c-avg)))
(A (/ (expt (the b) 2) (the S))))
:objects :objects
((engines :type 'engine ((engines :type 'engine
...@@ -90,10 +111,6 @@ ...@@ -90,10 +111,6 @@
:Tmax (nth (the-child index) (the Tmax-list))))) :Tmax (nth (the-child index) (the Tmax-list)))))
(define-object aircraft (base-object) (define-object aircraft (base-object)
:input-slots :input-slots
...@@ -108,7 +125,8 @@ ...@@ -108,7 +125,8 @@
:objects :objects
((right-wing :type 'wing-with-tanks) ((right-wing :type 'wing-with-tanks)
(left-wing :type 'wing-with-tanks) (left-wing :type 'wing-with-tanks)
(fuselage :type 'fuselage)) (fuselage :type 'fuselage
:d 5 :l 42))
:functions :functions
......
...@@ -2,9 +2,6 @@ ...@@ -2,9 +2,6 @@
;; Copyright 2012 Genworks International and the Delft University of ;; Copyright 2012 Genworks International and the Delft University of
;; Technology ;; Technology
;; ;;
;; This source file is part of the General-purpose Declarative
;; Language project (GenDL).
;;
;; This source file contains free software: you can redistribute it ;; This source file contains free software: you can redistribute it
;; and/or modify it under the terms of the GNU Affero General Public ;; and/or modify it under the terms of the GNU Affero General Public
;; License as published by the Free Software Foundation, either ;; License as published by the Free Software Foundation, either
......
...@@ -83,17 +83,19 @@ ...@@ -83,17 +83,19 @@
"Dynamic") "Dynamic")
", Object-oriented Language and Runtime environment")) ", Object-oriented Language and Runtime environment"))
(:description "Industry-standard dialect of the Lisp language family") (:description "Industry-standard dialect of the Lisp language family")
(:description "Available in several Commercial and Open-Source implementations") (:description "Available in several Commercial and Open-Source implementations")))
(:description "A cross-platform server solution for web application deployment")))
(:title "What is GenDL?" :bullet-points (:title "What is GenDL?" :bullet-points
((:description "A Declarative language environment embedded in Common Lisp") ((:description "A Declarative language environment embedded in Common Lisp")
(:description "A technology which allows any type of engineer to define (:description "A technology enabling you to define
problems and their solutions using an intuitive, straightforward structure") problems and their solutions using an intuitive, straightforward structure")
(:description "A Compiler and Runtime engine enabling Model creation and Application deployment")
(:description ,(with-htm "A cross-platform " (:description ,(with-htm "A cross-platform "
((:a :href "http://en.wikipedia.org/wiki/Web_application_framework") ((:a :href "http://en.wikipedia.org/wiki/Web_application_framework")
"web application framework") "web application framework")
" seamlessly embedded in the core language.")))) " seamlessly embedded in the core language"))
(:description "Available under Free/Open-source and Proprietary packages")))
(:title "A Path of Discovery: GenDL as a Learning Tool" (:title "A Path of Discovery: GenDL as a Learning Tool"
:bullet-points :bullet-points
...@@ -462,12 +464,6 @@ expression (a.k.a. \"Symbolic EXPression\" or \"S-exp\")") ...@@ -462,12 +464,6 @@ expression (a.k.a. \"Symbolic EXPression\" or \"S-exp\")")
"here") "here")
". Press \"Raw\" for raw downloadable form."))))) ". Press \"Raw\" for raw downloadable form.")))))
(:title "Open it in Tasty"
:bullet-points
((:description "Visit http://localhost:9000/tasty")
(:description ,(with-htm "Specify " ((:span :class "lisp-code") "wing-more-inputs") " as the Class Type")
:image-url "wing-more-inputs-tasty.png")))
(:title "Exercise 1: make a Fuselage object" (:title "Exercise 1: make a Fuselage object"
:bullet-points :bullet-points
((:description ,(with-htm "Parameters (i.e. Inputs):" ((:description ,(with-htm "Parameters (i.e. Inputs):"
...@@ -479,15 +475,10 @@ expression (a.k.a. \"Symbolic EXPression\" or \"S-exp\")") ...@@ -479,15 +475,10 @@ expression (a.k.a. \"Symbolic EXPression\" or \"S-exp\")")
(:li "wetted surface (Sw)") (:li "wetted surface (Sw)")
(:li "slenderness-ratio (= l / d)")))))) (:li "slenderness-ratio (= l / d)"))))))
(:title "How it should look in Tasty"
:bullet-points
((:description "Like this:"
:image-url "fuselage-tasty.png")))
(:title "Exercise 1 Solution" (:title "Exercise 1 Solution"
:bullet-points :bullet-points
((:description "Don't look at this until You Try It:" (#+nil
(:description "Don't look at this until You Try It:"
:image-url "uml-2-10b.png" :image-url "uml-2-10b.png"
:examples :examples
((:define-object gdl-user::fuselage))) ((:define-object gdl-user::fuselage)))
...@@ -495,21 +486,22 @@ expression (a.k.a. \"Symbolic EXPression\" or \"S-exp\")") ...@@ -495,21 +486,22 @@ expression (a.k.a. \"Symbolic EXPression\" or \"S-exp\")")
(:description ,(with-htm (:small (:description ,(with-htm (:small
"Solutions code will be available later."))))) "Solutions code will be available later.")))))
(:title "Child Objects"
:bullet-points ((:description "UML \"Has-a\" relationship"
:image-url "uml-2-12.png")
(:description "Skeleton Engine Definition:"
:examples ((:define-object gdl-user::engine)))
(:description "Wing with a single engine as Child Object:"
:examples ((:define-object gdl-user::wing-with-engine)))
))
(:title "Child Object in a Sequence" (:title "Child Object in a Sequence"
:bullet-points ((:description "UML \"Has-a\" relationship" :bullet-points ((:description "Specify keyword :size and an expression returning an integer."
:image-url "uml-2-12.png" :image-url "uml-2-12.png"
:examples ((:define-objet gdl-user::engine) :examples ((:define-object gdl-user::wing-with-engines)))))
(:define-object gdl-user::wing-with-engines)))))
(:title "How it might look in Tasty"
:bullet-points ((:description "Something like this:"
:image-url "wing-with-engines-tasty.png")))
(:title "Working with Sequences" (:title "Working with Sequences"
:bullet-points ((:description ,(with-htm ((:span :class "lisp-code") "list-elements") :bullet-points ((:description ,(with-htm ((:span :class "lisp-code") "list-elements")
" converts a sequence into a Lisp list.")) " converts a sequence into a Lisp list."))
...@@ -541,7 +533,7 @@ expression (a.k.a. \"Symbolic EXPression\" or \"S-exp\")") ...@@ -541,7 +533,7 @@ expression (a.k.a. \"Symbolic EXPression\" or \"S-exp\")")
(:title "Lisp background: <i>Plists</i>" (:title "Lisp background: <i>Plists</i>"
:bullet-points ((:description "Property Lisp, a type of <i>map</i>") :bullet-points ((:description "Property List, a type of <i>map</i>")
(:description "This is a list of pairs") (:description "This is a list of pairs")
(:description "Maps keyword symbols (i.e. names) to values") (:description "Maps keyword symbols (i.e. names) to values")
(:description ,(with-htm "Use " ((:span :class "lisp-code") "getf") (:description ,(with-htm "Use " ((:span :class "lisp-code") "getf")
......
...@@ -2,4 +2,3 @@ ...@@ -2,4 +2,3 @@
(gwl:define-package :training-g102 (:use :slide-show) (:export #:assembly #:push!)) (gwl:define-package :training-g102 (:use :slide-show) (:export #:assembly #:push!))
o
\ No newline at end of file
...@@ -2,5 +2,5 @@ ...@@ -2,5 +2,5 @@
(in-package :gdl-user) (in-package :gdl-user)
(gwl:define-package :training-g105 (:use :surf :slide-show) (:export #:assembly)) (gwl:define-package :training-g105 (:use :slide-show) (:export #:assembly))
...@@ -4,7 +4,8 @@ ...@@ -4,7 +4,8 @@
:author :author
"Genworks and Dave Cooper unless otherwise indicated" "Genworks and Dave Cooper unless otherwise indicated"
:license "AGPL unless otherwise indicated" :serial t :license "AGPL unless otherwise indicated" :serial t
:version "2012052100" :depends-on nil :components :version "2012052700" :depends-on (:gdl-smlib)
:components
((:file "slide-show/source/package") ((:file "slide-show/source/package")
(:file "slide-show/source/assembly") (:file "slide-show/source/assembly")
(:file "slide-show/source/publish") (:file "slide-show/source/publish")
......
(:video :url "http://youtube..."
:outline "
1. Parenthesis balancing
2. Indentation
a. line at a time with TAB
b. form at a time with C-M-q
3. Stacked parentheses (not dangling)
4. Selecting to copy/cut
a. C-<space> marks the beginning of selection
b. Any movement of Point adjusts the selection
5. Copying/Cutting
a. First you need to make a selection, then:
b. C-w cuts
c. M-w copies.
6. Yanking (Pasting)
a. Move the point to where you want the insertion
b. C-y yanks (pastes)
c. M-y (immediately following C-y) yanks previous items (circular)
7. Moving forward
a. Character at a time with C-f
b. Word at a time M-f
c. S-expression (sentence) at a time with C-M-f
(b instead of f for moving backward).
")
\ No newline at end of file
...@@ -250,7 +250,7 @@ ...@@ -250,7 +250,7 @@
;; are loaded, to :use these packages. ;; are loaded, to :use these packages.
;; ;;
(defpackage :geom-base (:use)) (defpackage :geom-base (:use))
(defpackage :surf (:use)) (defpackage :surf (:use) (:shadow #:step) (:export #:step))
(defmacro gdl:define-package (name &rest body) (defmacro gdl:define-package (name &rest body)
......
...@@ -243,7 +243,7 @@ future GDL release." ...@@ -243,7 +243,7 @@ future GDL release."
(class (gensym))) (class (gensym)))
`(progn `(with-compilation-unit () ;;progn
,(when (and *compile-documentation-database?* documentation) ,(when (and *compile-documentation-database?* documentation)
`(when *load-documentation-database?* `(when *load-documentation-database?*
(setf (gdl-documentation ,class) ',documentation))) (setf (gdl-documentation ,class) ',documentation)))
...@@ -411,7 +411,7 @@ overview of <tt>define-object</tt> syntax." ...@@ -411,7 +411,7 @@ overview of <tt>define-object</tt> syntax."
(when duplicates (when duplicates
(error "duplicate slot name~p: ~{~a~^, ~}" (length duplicates) (sort duplicates #'string-lessp :key #'symbol-name)))))) (error "duplicate slot name~p: ~{~a~^, ~}" (length duplicates) (sort duplicates #'string-lessp :key #'symbol-name))))))
`(progn `(with-compilation-unit () ;; progn
(defclass ,name ,(if (or no-vanilla-mixin? (defclass ,name ,(if (or no-vanilla-mixin?
......
Supports Markdown
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