Summary
numbers egg interferes with (module foo * ...)
Metadata
- Id: 6782eb8bb3eb67836eabd351513f924c18fe2964
- Trac id: 23
- Type: defect
- Reporter: zbigniew
- Owner: ashinn
- Cc:
- Status: closed
- Component: compiler
- Estimated difficulty:
- Resolution: fixed
- Priority: minor
- Milestone:
- Version: 4.0.1
- Changetime: 2009-05-07 03:35:23 UTC
- Created: 2009-05-07 00:38:48 UTC
- Keywords: macro hygiene
Description
Redefinition of * in numbers egg prevents recognition of * in module form.
$ csi4 -p '(module foo * (import scheme) #t)' #t $ csi4 -R numbers -p '(module foo * (import scheme) #t)' Error: (map) bad argument type - not a proper list: *
(same behavior in compiled files)
Changes and comments
[2009-05-07 03:32:40 UTC] ashinn set keywords to macro hygiene
[2009-05-07 03:32:40 UTC] ashinn changed status from new to assigned
[2009-05-07 03:32:40 UTC] ashinn changed owner from felix to ashinn
[2009-05-07 03:32:40 UTC] ashinn wrote:
This is one of those cases where it doesn't make any sense to treat the * symbol hygienically, since there is no other possible meaning for a symbol in that position (similar to the `else' in case statements, but unlike the `else' in cond statements which could refer to a variable named else.
So it's safe to just match the name of the *.
[2009-05-07 03:35:23 UTC] ashinn changed status from assigned to closed
[2009-05-07 03:35:23 UTC] ashinn set resolution to fixed
[2009-05-07 03:35:23 UTC] ashinn wrote:
Checked in a simple fix, make check passes, as does the bug in question.