This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Binding local vars to avoid redundant function application?



 I've started to look through `boot-9.scm', and have a question to
 ask.

;; ??? Would it be an optimization to write this:

(define (symbol-property-remove! sym prop)
  (let ((pair (assoc prop (symbol-pref sym))))
    (if pair
	(symbol-pset! sym (delq! pair (symbol-pref sym))))))

;; ... like this instead:

(define (symbol-property-remove! sym prop)
  (let* ((plist (symbol-pref sym))
	 (pair (assoc prop plist)))
    (if pair
	(symbol-pset! sym (delq! pair plist)))))]

;; ... in order to avoid calling `symbol-pref' twice?