• McCarthy's eval correction?

    From Daniel Cerqueira@21:1/5 to All on Thu Apr 17 11:37:09 2025
    In trying to understand McCarthy's eval, I have one question left
    unresolved. Let me give a code snippet of eval, which is written in
    Common Lisp, taken from Paul Graham's draft.

    ```
    (defun eval. (e a)
    (cond
    ...
    ((eq (caar e) 'label)
    (eval. (cons (caddar e) (cdr e))
    (cons (list (cadar e) (car e)) a)))
    ...
    ))
    ```

    I wonder what practical difference does it make to, instead, write eval
    like this:

    ```
    (defun eval. (e a)
    (cond
    ...
    ((eq (caar e) 'label)
    (eval. (cons (caddar e) (cdr e))
    (cons (list (cadar e) (caddar e)) a)))
    ...
    ))
    ```

    Anyone?

    In my opinion, it makes no practical difference, and this correction
    avoids unnecessary double processing.

    --
    The pioneers of a warless world are the youth that
    refuse military service. ~ Albert Einstein

    --=-=-Content-Type: application/pgp-signature; name="signature.asc"

    -----BEGIN PGP SIGNATURE-----

    iQJKBAEBCgA0FiEEOVeKaEm0xBhCsMmYlk/BEMQK1XUFAmgA2dYWHGRhbi5saXN0 QGxpc3BjbHViLmNvbQAKCRCWT8EQxArVdYdcEACSJPFRTyAfhVTSBICOE3F2tvR8 jdKK11ylA46GDIgFUx2BHojapLjKSciLSy/4fMvJCzws8sUDcu3fZmdt/VXGSAoa ToJOJEK0XbfNuPfU9MCTyygNeBJQlCXv5XDkwpRU8w+kRFPgzVod92jqXbYr1Fqy 0wkj9c5Fg4GgswMx/U5ECWxCuJeQS4O3TXBY6Nakq14gXktykc4VyzkSjV7wQ5Rs 3ygrnxZiZRdFifK5v766eNBMaxTNOWE3uw4CVxU0h9Wsk9dOQ+/YINKszCBFdwhS XCJ87vPTosD6hTG84T2fJfrFJZxryxSuKaUFjTvFSCRPd0BHW/L6ZOftn18izMYb cAWFrAQMyDS+vH44+WuyVOfbT2/sftmcq96Qk22M0g3k6/2jXZbVPhK80bD/0MQM 19VgEDuGJm3o8npgruu+HbyoWDpFtsyLgHwe0VM4npxHfs7fIQWelBakYOt8pR+t x2wh6zgjvkg/Tsm1ECLWjKUXSlX5v9xOE07CXui19Yi+/tR2mZJW//8oK1DW9M3y wWrrWEyacHNYET8g0yKdonNqKt54Wzm0CfKxzeglNuDbgBc+VsedNzPlCWmOrjwr koXRece9tOgAF66YOMnCdT0nKecbmuRFE2Xi6rjU497z1sRz6Y/m1f3UERxqKG7r vWOMcfTKWUYkrPH8Bw==gmE/