[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]



From:    MACSYM@MIT-MC
Date: Wed, 25 Sep 80 23:29:40 GMT
Original-Date: 09/25/80 19:29:40 EDT
Subject:
   To: (BUG LISPM) at MIT-MC, (BUG LISP) at MIT-MC, MACSYMA-I at MIT-MC
   In system 44.2, with microcode 692, on LISP Machine Ten:
   The lisp machine compiler error's out on functions which have 
   argument destructuring. e.g.
   
   (DEFUN RATDERIVATIVE ((NUM . DENOM) VAR)
     (COND ((EQN 1 DENOM) (CONS (PDERIVATIVE NUM VAR) 1))
   	(T (SETQ DENOM (PGCDCOFACTS DENOM (PDERIVATIVE DENOM VAR)))
   	   (SETQ NUM (RATREDUCE (PDIFFERENCE (PTIMES (CADR DENOM)
   						     (PDERIVATIVE NUM VAR))
   					     (PTIMES NUM (CADDR DENOM)))
   		 ;RATREDUCE ONLY NEEDS TO BE DONE WITH CONTENT OF GCD WRT VAR.
   				(CAR DENOM)))
   	   (COND ((PZEROP (CAR NUM)) NUM)
   		 (T (RPLACD NUM (PTIMES (CDR NUM)
   					(PEXPT (CADR DENOM) 2)))))))))
   ; pardon the example.
   
   Macsyma implementors: argument destructuring is not supported on all 
   systems, and should probably not be used.

I distinctly remember CWH saying it was ok to use this sort of 
argument destructuring a few months back when BMT first used it.
Now you say not to use it.  What gives?