[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: summary: lilypond, lambda, and local-eval
From: |
Noah Lavine |
Subject: |
Re: summary: lilypond, lambda, and local-eval |
Date: |
Sun, 18 Dec 2011 10:32:15 -0500 |
Hello,
>> Indeed, only the macro expander has enough information to generate an
>> optimal list of "reachable lexicals", i.e. lexical variables that are
>> accessible using normal symbols (as opposed to syntax objects) [more
>> on this below].
>
> Are you certain that you want to restrict the set of identifiers?
>
> To me it sounds like an optimization, perhaps premature.
If I understand correctly, Mark wants to restrict the set of variables
you can access to those you could access through normal Scheme code.
This is an issue because psyntax happens to provide a way to access
more variables than standard Scheme. If this is the case, I think we
should absolutely restrict it to standard Scheme, because letting you
access everything psyntax can access a) is not Scheme and b) restricts
our future implementation choices.
> What do you think about having a <the-environment> tree-il form have a
> field for the names and a field for the gensyms of captured lexicals?
>
>> This is great news, because it means that `the-environment' will no
>> longer require its own tree-il type, and the compiler will only see the
>> standard scheme code that it expands into.
This actually seems bad to me, although I'm just guessing. Because the
thing is, it's not *really* that Scheme code that you wrote, and so
the compiler is seeing something wrong. It has the same
variable-capture properties as that code, but it's not actually that.
My instinct is that compiling non-accurate code is going to be more
trouble than it's worth, but that's just a guess.
In general, this thread has been very, very impressive. Thanks a lot
to everyone who has been working so hard on this.
Noah
- Re: summary: lilypond, lambda, and local-eval, (continued)
- Re: summary: lilypond, lambda, and local-eval, David Kastrup, 2011/12/15
- Re: summary: lilypond, lambda, and local-eval, Hans Aberg, 2011/12/15
- Re: summary: lilypond, lambda, and local-eval, Mark H Weaver, 2011/12/16
- Re: summary: lilypond, lambda, and local-eval, Mark H Weaver, 2011/12/16
- Re: summary: lilypond, lambda, and local-eval, Mark H Weaver, 2011/12/16
- Re: summary: lilypond, lambda, and local-eval, David Kastrup, 2011/12/16
- Re: summary: lilypond, lambda, and local-eval, Mark H Weaver, 2011/12/18
- Re: summary: lilypond, lambda, and local-eval, Andy Wingo, 2011/12/18
- Re: summary: lilypond, lambda, and local-eval,
Noah Lavine <=
- Re: summary: lilypond, lambda, and local-eval, David Kastrup, 2011/12/18
- Re: summary: lilypond, lambda, and local-eval, Noah Lavine, 2011/12/18
- Re: summary: lilypond, lambda, and local-eval, Mark H Weaver, 2011/12/19
Re: summary: lilypond, lambda, and local-eval, Andy Wingo, 2011/12/16
- Re: summary: lilypond, lambda, and local-eval, David Kastrup, 2011/12/16
- Re: summary: lilypond, lambda, and local-eval, Mark H Weaver, 2011/12/16
- Re: summary: lilypond, lambda, and local-eval, Hans Aberg, 2011/12/16
- Re: summary: lilypond, lambda, and local-eval, David Kastrup, 2011/12/16
- Re: summary: lilypond, lambda, and local-eval, Hans Aberg, 2011/12/16
Re: summary: lilypond, lambda, and local-eval, Ian Hulin, 2011/12/21