[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Scheme-reports] ANN: first draft of R7RS small language available
- To: OKUMURA Yuki <mjt@x>
- Subject: Re: [Scheme-reports] ANN: first draft of R7RS small language available
- From: Alex Shinn <alexshinn@x>
- Date: Sat, 16 Apr 2011 21:35:53 +0900
- Cc: scheme-reports@x
- In-reply-to: <BANLkTi=kSqWZpF-fAPObreiuAf9FxPb85w@mail.gmail.com>
- References: <BANLkTi=hSfKrHo13BUMP==SNPCX-+As0HQ@mail.gmail.com> <BANLkTi=kSqWZpF-fAPObreiuAf9FxPb85w@mail.gmail.com>
Hi, thanks for the comments.
On Sat, Apr 16, 2011 at 5:53 PM, OKUMURA Yuki <mjt@x> wrote:
> Congratulations for releasing this! I have some comments/questions:
> - p44. eval and their friends should be "eval module procedures" as
> stated as p58.
> - p57. How do we implement "=>" exported from (scheme base) module ?
> "=>" itself is not a syntax or a procedure (i think).
As you say, there is no "=>" bound in (scheme base).
So long as it's not bound in the usage context it will
thus work with `cond'.
If it's bound to something else, then it won't work in
`cond', whether there it had any binding in (scheme base)
or not. If you want to import a module that binds "=>",
you need to rename it or except it.
The only thing binding it to something would change
is require programmers to go through the effort to always
specifically import it.
> - p57. Ditto for "import." And i think this should be in (scheme load)
> module to make
> possible the implementation without dynamic module loading.
The non-module-declaration `import' is special in that it's only
available in program top-levels. It's not in any module.
> - p57. "nil" is undefined in the report. (define nil '()) ?
That's a typo, removed.
> - p57. Why both (scheme base) and (scheme io) has "newline" ?
> - p58. Why both (scheme base) and (scheme write) has "display" ?
Also mistakes, both removed from (scheme base).
> - p59. "current-posix-second" is undefined in the report. Is this
> "current-second" ?
Yes, sorry, that's "current-second".
> - In this version of the report, equal? mandated to terminate in finite time.
> Source expansion/evaluation is same for? For example:
> #0=(define a . #0#)
> should be treated as a syntax error? or R7RS allows implementation can
> took infinite time for expand this form?
As Aaron pointed out, expansion is not guaranteed
to terminate in general.
This case is unspecified, but it may be worth pointing
it out as an error.
Scheme-reports mailing list