anchor.diff:  	)
   )
   
  +; Transponowanie
  +(defmacro m_trans (M)
  +	`(loop for i from 1 to (length ,M) collect
  +		(loop for j from 1 to (length ,M) collect 
  +			(nth (1- i) (nth (1- j) ,M))
  +		)
  +	)
  +)
  +
  +(defmacro m_matpow (M k)
  +	`(mr_matpow (m_trans ,M) ,k)
  +)
  +
   (setq z '(
   	(a b a a)
   	(a a c a)
  
positive.code: 	)
  )
  
  ; Ewaluacja wektora
  (defmacro mr_eval_vec (v)
  	`(if (null `,(first ,v))
  
negative.code: ;(trace mr_eval_vec)
  ;(trace mr_matmul)
  ;(trace mr_eval_mat)
  ;(trace m_trans)
  ;(trace mr_matpow)
  
  (setq x (m_matpow z 5))
  
  (setf a 1)
  (setf b 2)
  (setf c 3)
  (setf d 4)
  
  (write (mr_eval_mat x))