[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] auxiliary syntax

11 hours ago, Alex Shinn wrote:
> On Mon, Jan 7, 2013 at 11:45 AM, John Cowan <cowan@x> wrote:
>     I don't actually consider this a bug.  By the same token, it is
>     impossible for library A to use macros from libraries B and C
>     which happen to have chosen the same *primary* syntax keyword:
>     if you import "gazinta" from B with one definition, and
>     "|ga\x7A;inta|" from C with another definition, you are screwed.

+1, except that it's even simpler than that -- there are some common
names that are often used in multiple places as is (for example, `+'
or `if'), no need for escapes.

> Yes, but you can rename/prefix primary syntax.


> Sure, you can also rename auxiliary syntax


> but then your entire DSL looks different.  This is an unacceptable
> burden.

Yeah, hygiene is a mistake.  Plain symbols ftw.  CL packages rule.

(Oh, right, even CL packages have a very similar behavior wrt

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Scheme-reports mailing list