From: Hallvard Tretteberg
Subject: multiple-value-bind
Date: 
Message-ID: <HAL.93Jan18181701@monsun.si.no>
Concerning multiple-value-bind and speed, in MCL 2.0

(multiple-value-bind (a b) (values 1 2)
  (print a) (print b))

expands to:

(MULTIPLE-VALUE-CALL
  #'(LAMBDA (&OPTIONAL A B &REST #:IGNORE)
      (DECLARE (IGNORE #:IGNORE))
      (PRINT A) (PRINT B))
  (VALUES 1 2))

I wonder whether the compiler actually compiles the expansion or
compiles the form directly. Anyway, perhaps it doesn't make any
difference when it comes to speed.

What do other implementations expand multiple-value-bind to?

--
Hallvard Traetteberg
Dept. of Knowledge Based Systems
SINTEF SI (Center for Industrial Research)
Box 124 Blindern, 0314 Oslo 3
NORWAY

Tlf: +47 2 45 29 83 or  +47 2 45 20 10
Fax: +47 2 45 20 40
Email: ···················@si.sintef.no