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