Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I didn't try macroexpanding it yet, but when I make the 9 a runtime-parameter, I eventually get a stack-overflow with SBCL not TCO-ing the "H" binding in labels.

The comments make me think this is ported from scheme, which has precise TCO rules.

[edit] macroexpanded:

    (LABELS ((H-37 (US-38)
               (IF (NULL US-38)
                   NIL
                   (LET ((FILE (CAR US-38)) (US1-39 (CDR US-38)))
                     (LABELS ((H-43 (US-44)
                                (IF (NULL US-44)
                                    (H-37 US1-39)
                                    (LET ((RANK (CAR US-44)) (US1-45 (CDR US-44)))
                                      (CONS (FORMAT NIL "~a~a" FILE RANK) (H-43 US1-45))))))
                       (H-43 RANKS))))))
      (H-37 FILES))


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: