2014/02/07
Almost there?
Just committed changes to cover R7RS-small support.
- Exact complex numbers are not in yet. In next version, I hope.
- Problems have been reported regarding hygienic macro-defining macros (Macros that expands to let-syntax). It's a long-standing issue, but I'm going to give one more try before releasing 0.9.4. If it turns out a lot of work to fix, though, I'll postpone it to the next version.
- Currently, toplevel
import
is Gauche's by default, which is different from R7RSimport
. So you need-r7
option forgosh
to run R7RS scripts. However, as R7RS gets adopted more widely, users would expect R7RS code just works on Gauche, so requiring-r7
option may confuse them.
I can't change Gauche'simport
semantics for the backward compatibility, and I don't want to extend Gauche'simport
to support R7RS semantics, since those two have different functions (R7RSimport
≒ Gauche'suse
=require
+ Gauche'simport
).
However, I had another idea. Theimport
issue only arises when a Scheme script uses it on toplevel. When a Scheme script is given,gosh
start evaluating it inuser
module. So we can provide the thirdimport
form inuser
module, which checks its arguments and dispatch to either R7RSimport
or Gaucheimport
. - And of course, I need to go through documents to update for R7RS.
Post a comment