
(/VERSIONCHECK 2) 

(PUT '|MKRECORD;makeRecord;ST$R;1| '|SPADreplace| 'CONS) 

(DEFUN |MKRECORD;makeRecord;ST$R;1| (|s| |t| $) (CONS |s| |t|)) 

(DEFUN |MakeRecord| (&REST #0=#:G1819)
  (PROG ()
    (RETURN
      (PROG (#1=#:G1820)
        (RETURN
          (COND
            ((LETT #1#
                   (|lassocShiftWithFunction| (|devaluateList| #0#)
                       (HGET |$ConstructorCache| '|MakeRecord|)
                       '|domainEqualList|)
                   . #2=(|MakeRecord|))
             (|CDRwithIncrement| #1#))
            ('T
             (UNWIND-PROTECT
               (PROG1 (APPLY (|function| |MakeRecord;|) #0#)
                 (LETT #1# T . #2#))
               (COND
                 ((NOT #1#) (HREM |$ConstructorCache| '|MakeRecord|))))))))))) 

(DEFUN |MakeRecord;| (|#1| |#2|)
  (PROG (DV$1 DV$2 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #0=(|MakeRecord|))
        (LETT DV$2 (|devaluate| |#2|) . #0#)
        (LETT |dv$| (LIST '|MakeRecord| DV$1 DV$2) . #0#)
        (LETT $ (GETREFV 10) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
        (|haddProp| |$ConstructorCache| '|MakeRecord| (LIST DV$1 DV$2)
            (CONS 1 $))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        (QSETREFV $ 7 |#2|)
        $)))) 

(MAKEPROP '|MakeRecord| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|local| |#2|)
             (|Record| (|:| |part1| 6) (|:| |part2| 7))
             |MKRECORD;makeRecord;ST$R;1|)
          '#(|makeRecord| 0) 'NIL
          (CONS (|makeByteWordVec2| 1 'NIL)
                (CONS '#()
                      (CONS '#() (|makeByteWordVec2| 9 '(2 0 8 6 7 9)))))
          '|lookupComplete|)) 
