Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Sanity Check

Name: Anonymous 2009-09-25 19:16

Bad idea?
(defmacro letret (return-binding bindings &body body)
  `(let ,(cons return-binding bindings)
     ,@body
     ,(first return-binding)))

(defmacro letret* (return-binding bindings &body body)
  `(let* ,(cons return-binding bindings)
     ,@body
     ,(first return-binding)))

Name: Anonymous 2009-09-26 23:53

>>28
I remember PROGK...
(defmacro progk (k &body forms)
  (flet ((for-k (k)
           `(,k ,@(subseq forms 0 k)
                (multiple-value-prog1 ,@(subseq forms k)))))
    `(case ,k
       ,@(loop for case from 0 below (length forms) collect (for-k case)))))

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List