Skip to content
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

Make a roadmap from now to 1.0 and begin to make Black Hole releases with version numbers #25

Open
per-gron opened this issue May 14, 2010 · 3 comments

Comments

@per-gron
Copy link
Owner

This is important to do to make Black Hole easier to use for people other than me.

A draft of a proposal for a version roadmap:

0.1: Syntactic tower
0.1.1: Bug fixes: Issue 23, issue 7, issue 15, issue 16
0.2: Implicit phasing on imports and making it a syntax error to have unbound variables in modules
0.3: A command line interface
0.4: syntax-case macros

@per-gron
Copy link
Owner Author

per-gron commented Jul 9, 2010

I tagged the master branch (pre-syntactictower) v0.1. Progress! =)

@wsxiaoys
Copy link
Contributor

Is there any plan to add r7rs style module?

@per-gron
Copy link
Owner Author

Currently, there is no plan to add R7RS style modules. Not because I'm opposed to the idea, but because I currently have no time to do it.

There are a couple of lower-level things that probably need to be done before adding R7RS module support becomes relevant:

  • Implement syntax-case macros. It should be possible to implement that on top of the current hygiene system, but it is non-trivial because syntax-case macros require macros to be a closure that takes one argument, but in Black Hole's implementation macros are closures that take three arguments. It should be possible to use some of the syntax-rules code though.
  • Properly implement implicit phasing on imports (see issue 22). This is partially implemented, but the current implementation does, because of a small detail, not in practise support macros that depend on other modules.
  • We also might want to go away from the current implementation of having each module be invoked once per phase: The paper linked to on issue 22 argues rather convincingly that it's best to have one module instance even across phases.

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

No branches or pull requests

2 participants