Summary
letrec* can be done as Chicken letrec
Metadata
- Id: 5f199f4fbe7c6ae1cfad46325a00e0d8756eeff7
- Trac id: 1078
- Type: defect
- Reporter: johnwcowan
- Owner:
- Cc:
- Status: closed
- Component: unknown
- Estimated difficulty:
- Resolution: worksforme
- Priority: major
- Milestone: someday
- Version: 4.8.x
- Changetime: 2013-12-01 19:45:51 UTC
- Created: 2013-12-01 19:40:59 UTC
- Keywords:
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))))
Changes and comments
[2013-12-01 19:45:51 UTC] sjamaan changed status from new to closed
[2013-12-01 19:45:51 UTC] sjamaan set resolution to worksforme
[2013-12-01 19:45:51 UTC] sjamaan wrote:
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.