Re: [Scheme-reports] auxiliary syntax Eli Barzilay (07 Jan 2013 14:18 UTC)
Re: [Scheme-reports] auxiliary syntax Eli Barzilay (07 Jan 2013 14:19 UTC)

Re: [Scheme-reports] auxiliary syntax Eli Barzilay 07 Jan 2013 14:17 UTC

11 hours ago, Alex Shinn wrote:
> On Mon, Jan 7, 2013 at 11:45 AM, John Cowan <cowan@mercury.ccil.org> 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.

Eh?

> Sure, you can also rename auxiliary syntax

Oh...

> 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
symbols.)

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

_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports