[movitz-cvs] CVS update: movitz/losp/muerte/loop.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Tue Feb 10 23:40:17 UTC 2004


Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory common-lisp.net:/tmp/cvs-serv18912

Modified Files:
	loop.lisp 
Log Message:
Factored out defstructs so they are not evaluated twice for every
compilation of this file.

Date: Tue Feb 10 18:40:17 2004
Author: ffjeld

Index: movitz/losp/muerte/loop.lisp
diff -u movitz/losp/muerte/loop.lisp:1.3 movitz/losp/muerte/loop.lisp:1.4
--- movitz/losp/muerte/loop.lisp:1.3	Wed Jan 21 17:02:09 2004
+++ movitz/losp/muerte/loop.lisp	Tue Feb 10 18:40:17 2004
@@ -298,6 +298,53 @@
 	#-LISPM `(cdr ,head-var))))
 
 
+(defstruct (loop-minimax
+	     (:constructor make-loop-minimax-internal)
+	     (:copier nil)
+	     (:predicate nil))
+  answer-variable
+  type
+  temp-variable
+  flag-variable
+  operations
+  infinity-data)
+
+(defstruct (loop-universe
+	     (:print-function print-loop-universe)
+	     (:copier nil)
+	     (:predicate nil))
+  keywords					;hash table, value = (fn-name . extra-data).
+  iteration-keywords				;hash table, value = (fn-name . extra-data).
+  for-keywords					;hash table, value = (fn-name . extra-data).
+  path-keywords					;hash table, value = (fn-name . extra-data).
+  type-symbols					;hash table of type SYMBOLS, test EQ, value = CL type specifier.
+  type-keywords					;hash table of type STRINGS, test EQUAL, value = CL type spec.
+  ansi						;NIL, T, or :EXTENDED.
+  implicit-for-required				;see loop-hack-iteration
+  )
+
+
+(defstruct (loop-collector
+	     (:copier nil)
+	     (:predicate nil))
+  name
+  class
+  (history nil)
+  (tempvars nil)
+  dtype
+  (data nil))				;collector-specific data
+
+(defstruct (loop-path
+	     (:copier nil)
+	     (:predicate nil))
+  names
+  preposition-groups
+  inclusive-permitted
+  function
+  user-data)
+
+
+
 ;;;; Maximization Technology
 
 (eval-when (:compile-toplevel :execute)
@@ -317,18 +364,6 @@
 |#
 
 
-(defstruct (loop-minimax
-	     (:constructor make-loop-minimax-internal)
-	     (:copier nil)
-	     (:predicate nil))
-  answer-variable
-  type
-  temp-variable
-  flag-variable
-  operations
-  infinity-data)
-
-
 (defvar *loop-minimax-type-infinities-alist*
 	;;@@@@ This is the sort of value this should take on for a Lisp that has
 	;; "eminently usable" infinities.  n.b. there are neither constants nor
@@ -467,19 +502,7 @@
 (defmacro loop-store-table-data (symbol table datum)
   `(setf (gethash (symbol-name ,symbol) ,table) ,datum))
 
-(defstruct (loop-universe
-	     (:print-function print-loop-universe)
-	     (:copier nil)
-	     (:predicate nil))
-  keywords					;hash table, value = (fn-name . extra-data).
-  iteration-keywords				;hash table, value = (fn-name . extra-data).
-  for-keywords					;hash table, value = (fn-name . extra-data).
-  path-keywords					;hash table, value = (fn-name . extra-data).
-  type-symbols					;hash table of type SYMBOLS, test EQ, value = CL type specifier.
-  type-keywords					;hash table of type STRINGS, test EQUAL, value = CL type spec.
-  ansi						;NIL, T, or :EXTENDED.
-  implicit-for-required				;see loop-hack-iteration
-  )
+
 
 
 (defun print-loop-universe (u stream level)
@@ -1192,15 +1215,6 @@
 ;;;; Value Accumulation: List
 
 
-(defstruct (loop-collector
-	     (:copier nil)
-	     (:predicate nil))
-  name
-  class
-  (history nil)
-  (tempvars nil)
-  dtype
-  (data nil))						;collector-specific data
 
 
 (eval-when (:compile-toplevel #+movitz-loop :load-toplevel)
@@ -1578,14 +1592,6 @@
 ;;;; Iteration Paths
 
 
-(defstruct (loop-path
-	     (:copier nil)
-	     (:predicate nil))
-  names
-  preposition-groups
-  inclusive-permitted
-  function
-  user-data)
 
 
 (defun add-loop-path (names function universe &key preposition-groups inclusive-permitted user-data)





More information about the Movitz-cvs mailing list