summaryrefslogtreecommitdiffhomepage
path: root/common-lisp.html.markdown
diff options
context:
space:
mode:
authorC. Bess <cbess@company.com>2015-11-09 17:55:53 -0600
committerC. Bess <cbess@company.com>2015-11-09 17:55:53 -0600
commitdf0992d72c2a28f140e6ff9681c505f36e19249a (patch)
tree508aa3abe4c25b957dca442560d9c95c9b1fc97a /common-lisp.html.markdown
parentafc5ea14654e0e9cd11c7ef1b672639d12418bad (diff)
parentc460e1fafa0e9b4edc6a5cb35b970bb5cc030a81 (diff)
Merge remote-tracking branch 'adambard/master'
Conflicts: swift.html.markdown
Diffstat (limited to 'common-lisp.html.markdown')
-rw-r--r--common-lisp.html.markdown13
1 files changed, 8 insertions, 5 deletions
diff --git a/common-lisp.html.markdown b/common-lisp.html.markdown
index c4ecb5e8..63183c1e 100644
--- a/common-lisp.html.markdown
+++ b/common-lisp.html.markdown
@@ -175,7 +175,8 @@ nil ; for false - and the empty list
:age 5))
*rover* ; => #S(DOG :NAME "rover" :BREED "collie" :AGE 5)
-(dog-p *rover*) ; => t ;; ewww)
+(dog-p *rover*) ; => true #| -p signifies "predicate". It's used to
+ check if *rover* is an instance of dog. |#
(dog-name *rover*) ; => "rover"
;; Dog-p, make-dog, and dog-name are all created by defstruct!
@@ -260,7 +261,7 @@ nil ; for false - and the empty list
(defparameter *adjvec* (make-array '(3) :initial-contents '(1 2 3)
:adjustable t :fill-pointer t))
-
+
*adjvec* ; => #(1 2 3)
;; Adding new element:
@@ -573,13 +574,15 @@ nil ; for false - and the empty list
"While `condition` is true, `body` is executed.
`condition` is tested prior to each execution of `body`"
- (let ((block-name (gensym)))
+ (let ((block-name (gensym)) (done (gensym)))
`(tagbody
+ ,block-name
(unless ,condition
- (go ,block-name))
+ (go ,done))
(progn
,@body)
- ,block-name)))
+ (go ,block-name)
+ ,done)))
;; Let's look at the high-level version of this: