guile-devel
[Top][All Lists]
Advanced

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

Re: syntax-local-binding


From: Andy Wingo
Subject: Re: syntax-local-binding
Date: Tue, 24 Jan 2012 12:42:50 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)

Hi Mark,

On Tue 24 Jan 2012 03:11, Mark H Weaver <address@hidden> writes:

> you seem unabashedly content to lock us into using psyntax forever,

This statement is an exaggeration.  While I am content with psyntax now,
all change is possible, with time.  While it's important to think of the
future (and the past), one must not forget about the present :)

> It concerns me when I see internal psyntax representations exported in
> our API.

None of the interfaces that I proposed leak internal psyntax
representations.

syntax-local-binding provides binding information for an identifier.
Racket provides similar procedures, and does not use psyntax.  Therefore
this information does not tie us to the psyntax implementation.

syntax-locally-bound-identifiers can be implemented in any expander.  It
provides syntax objects.  Syntax objects are not a psyntax
implementation detail.

syntax-module is a simple accessor.  Racket provides the same accessor.
Therefore it does not leak psyntax implementation details.

> If we can already foresee the need to deprecate an interface, wouldn't
> it be better not to add it in the first place?

I don't see the need to deprecate them now, not more than any other
identifier that we export.

> I just have one final request: please at least change the lexical
> environments in your `local-eval' implementation to use the future-proof
> `evaluator procedure' representation, as I have done in mine.

For the reasons I mentioned in my mail yesterday at 12:52 UTC, I really
don't see the point, as we have more effective means of dealing with
future change than introducing an abstraction there.  But if it will
make you happy, sure.  I'm quite tired of this topic ;-)

Regards,

Andy
-- 
http://wingolog.org/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]