New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Library ‘(scheme base)’ exports ‘expand’ macro keyword #747

Closed
mnieper opened this Issue Feb 19, 2016 · 4 comments

Comments

Projects
None yet
2 participants
@mnieper

mnieper commented Feb 19, 2016

By R7RS, ‘expand’ is not exported by ’(scheme base)’. However:

$ ~/larceny/larceny -r7rs
Larceny v0.98 "General Ripper" (Mar  7 2015 01:06:26, precise:Linux:unified)
larceny.heap, built on Sat Mar  7 01:06:50 EST 2015

> expand

Syntax violation: expand

Reference to macro keyword out of context

Form: expand

Trace: 

  expand



Error: unhandled condition:
Compound condition has these components: 
#<record &who>
    who : expand
#<record &message>
    message : "Reference to macro keyword out of context"
#<record &syntax>
    form : expand
    subform : #f

Entering debugger; type "?" for help.
debug> 
@WillClinger

This comment has been minimized.

Show comment
Hide comment
@WillClinger

WillClinger Mar 7, 2016

Member

Thank you for reporting that. The run keyword probably has this same problem.

Member

WillClinger commented Mar 7, 2016

Thank you for reporting that. The run keyword probably has this same problem.

@WillClinger

This comment has been minimized.

Show comment
Hide comment
@WillClinger

WillClinger Mar 12, 2016

Member

In Larceny v0.98, a library cannot define and export any of the following identifiers: for, run, expand, meta.

To my surprise, that bug seems to have disappeared in the current development version of Larceny. I don't understand why it disappeared, and will keep this ticket open for a while to remind me of the mystery.

I now see I made the bug disappear by making a temporary change in my working directory that caused other bugs. What I need to do is to remove those reserved words from R7RS define-library contexts while keeping them in R6RS library contexts, which is slightly tricky.

Member

WillClinger commented Mar 12, 2016

In Larceny v0.98, a library cannot define and export any of the following identifiers: for, run, expand, meta.

To my surprise, that bug seems to have disappeared in the current development version of Larceny. I don't understand why it disappeared, and will keep this ticket open for a while to remind me of the mystery.

I now see I made the bug disappear by making a temporary change in my working directory that caused other bugs. What I need to do is to remove those reserved words from R7RS define-library contexts while keeping them in R6RS library contexts, which is slightly tricky.

@WillClinger

This comment has been minimized.

Show comment
Hide comment
@WillClinger

WillClinger Apr 23, 2016

Member

Mostly fixed by changeset 30b2960

Libraries can now define and export for, run, expand, and meta, but still cannot define or export program or primitives (or export etc, but that's less serious).

With the partial fix, I'm downgrading this ticket's priority and will probably change the milestone eventually.

Member

WillClinger commented Apr 23, 2016

Mostly fixed by changeset 30b2960

Libraries can now define and export for, run, expand, and meta, but still cannot define or export program or primitives (or export etc, but that's less serious).

With the partial fix, I'm downgrading this ticket's priority and will probably change the milestone eventually.

@WillClinger

This comment has been minimized.

Show comment
Hide comment
@WillClinger

WillClinger Jul 1, 2017

Member

Fixed by changeset 582c608

Member

WillClinger commented Jul 1, 2017

Fixed by changeset 582c608

@WillClinger WillClinger closed this Jul 1, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment