Opened 11 years ago

Closed 11 years ago

#23 closed defect (fixed)

numbers egg interferes with (module foo * ...)

Reported by: Jim Ursetto Owned by: Alex Shinn
Priority: minor Milestone:
Component: compiler Version: 4.0.1
Keywords: macro hygiene Cc:
Estimated difficulty:

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)

Change History (2)

comment:1 Changed 11 years ago by Alex Shinn

Keywords: macro hygiene added
Owner: changed from felix winkelmann to Alex Shinn
Status: newassigned

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 *.

comment:2 Changed 11 years ago by Alex Shinn

Resolution: fixed
Status: assignedclosed

Checked in a simple fix, make check passes, as does the
bug in question.

Note: See TracTickets for help on using tickets.