[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
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