Move type-definitions to the end of the definition block.
authorGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Fri, 14 Jan 1994 03:26:56 +0000 (03:26 +0000)
committerGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Fri, 14 Jan 1994 03:26:56 +0000 (03:26 +0000)
In this way there is no need for the symbol to be returned,
since the type definition "returns" the symbol, and in addition, all
the forms are definitions, so a DEFINE-STRUCTURE becomes legal
amongst internal definitions.

v7/src/runtime/defstr.scm

index fc062dd4742cc5141f50f24e22d66371aebef55c..3b6b0623da124c8ed3c9ebaba6e344036be1482e 100644 (file)
@@ -1,8 +1,8 @@
 #| -*-Scheme-*-
 
-$Id: defstr.scm,v 14.25 1993/10/21 14:52:32 cph Exp $
+$Id: defstr.scm,v 14.26 1994/01/14 03:26:56 gjr Exp $
 
-Copyright (c) 1988-93 Massachusetts Institute of Technology
+Copyright (c) 1988-1994 Massachusetts Institute of Technology
 
 This material was developed by the Scheme project at the Massachusetts
 Institute of Technology, Department of Electrical Engineering and
@@ -107,14 +107,13 @@ differences:
                  (+ index 1)))
          ((null? slots))
        (set-slot/index! (car slots) index))
-      `(BEGIN ,@(type-definitions structure)
-             ,@(constructor-definitions structure)
+      `(BEGIN ,@(constructor-definitions structure)
              ,@(accessor-definitions structure)
              ,@(modifier-definitions structure)
              ,@(predicate-definitions structure)
              ,@(copier-definitions structure)
              ,@(print-procedure-definitions structure)
-             ',(structure/name structure)))))
+             ,@(type-definitions structure)))))
 \f
 ;;;; Parse Options