Opened 12 years ago
Closed 12 years ago
#1078 closed defect (worksforme)
letrec* can be done as Chicken letrec
| Reported by: | johnwcowan | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | someday |
| Component: | unknown | Version: | 4.8.x |
| Keywords: | Cc: | ||
| Estimated difficulty: |
Description
Discussion on scheme-reports has clarified that implementing letrec sequentially (i.e. as letrec*), which is what Chicken does, is allowed by R7RS. Therefore, for R7RS compatibility, all that is needed is to expose letrec* as equivalent to letrec:
(define-syntax letrec*
(syntax-rules ()
((letrec* bindings . body) (letrec bindings . body))))
Note: See
TracTickets for help on using
tickets.

Thanks for pointing this out. If we're unable to solve the kanren issue (#1068) we might do this. Until we've figured out the cause of that one, I prefer to keep it the way it is, it encourages a more portable programming style.