From: TONYMS <TO...@te...> - 2002-09-03 09:34:02
|
> As to NAMED-LET, I came to Common Lisp from Scheme, so to me named LET > doesn't seem particularly strange. While TAGBODY is more standard > Common Lisp, I'm not convinced it's clearer. When I see a long TAGBODY > I start to wonder how many tags might be scattered around in it, and > whether there might be GOs forward as well as back. A named LET only > has one tag, and it always branches backwards. [...] > (I wouldn't recommend named LET in most Common Lisp application code, > since you can't in general rely on a Common Lisp compiler optimizing > away tail recursion. But for use inside SBCL itself, where there's no > need for portability so we can safely rely on understanding tail > recursion issues, it seems OK.) > [...] > I might leave the NAMED-LETs alone. TAGBODY is less than ideal, true. If you prefer, I can send a LOOP + BLOCK variant, or LABELS, although I'm a bit queasy on interaction loops relying on tail call removal. I like these alternatives because they're standard and equally expressive, but if you're happy with NAMED-LET then that's fair enough: I came from Scheme, too. > (sorry I always end up arguing about aesthetics on your patches...) They're so minuscule (minusclue?) there's not much else to argue about! One day I'll submit such an SBCL functionality-enhancing patch that you'll just /have/ to succumb, aweful style and all! :) Take care, --Tony |