Summary:
By default, ikarus now executes the file $HOME/.ikarusrc (which
must be an R6RS script) (if it exists) before startup.
Details:
There is a default behavior for RC files which can be overriden by
command-line options.
Default RC files location:
1. If the command-line argument --no-rcfile is set, the set of RC
files is empty.
2. Otherwise, if there is at least one --rcfile <filename>
command-line argument, the specified files are used as the set
of RC files. (--rcfile and --no-rcfile are mutually exclusive)
3. Otherwise, if the environment variable IKARUS_RC_FILES is set,
the colon-separated list of files are used as the RC files.
4. Otherwise, if the file $HOME/.ikarusrc exists, only it is used.
5. Otherwise, the set is empty.
The startup sequence is now:
1. Setup the library path.
2. Execute all RC files.
3. Set command-line options (e.g., -O2, --debug, etc.).
4. Set command-line-arguments.
5. Proceed with normal operation (start repl, run an r6rs script,
compile dependencies, etc.).
error (as suggested by Derick Eddington).
- The -h or [-b <bootfile>] options must now come first, so,
the rest of the command-line arguments are not scanned: only the
first one or two. The docs (in ikarus -h) already suggested the
correct invocation arguments, so, this conforms to the previously
documented behavior.
unhandled causing compile time errors.
- fixed some bootstrapping issues with pointer? (which was moved out
of the (ikarus) library)
- freshened up the bootfiles for both 32- and 64-bit version of
ikarus.
- (optimize-level [0,1,2]) and ikarus -O[0,1,2]
where -O0 = no optimizations
-O1 = using old optimizer
-O2 = using the new cp0 optimizer
defaults to -O1 for now.
- (cp0-size-limit n) which is the limit of the residual size for
each inlining attempt
- (cp0-effort-limit n) which is the limit on the effort expended
for each inlining attempt
- Rewrote the syntax-match macro to make use of the same technology
used in syntax-case itself resulting in reduced code size.
- Added (system-value <symbol>) which returns the system value.
E.g., (system-value 'car) => #<procedure car>
This is pretty much the same as
(eval <symbol> (environment '(ikarus)))
except that it does not involve compiling the expression or
consulting the library/expander systems.
- Fixed the fasl loader to make it understand complex numbers.
- Changed license from FDL to GPL
- Added docs about file extensions
- Updated list of missing features (list is down to one page, yay!)
- Updated copyright years in document and ikarus-main.ss (it's 2008!).
build date in the banner.
The version in bzr now displays:
Ikarus Scheme version 0.0.1+ (revision 1090, build 2007-11-19)
Copyright (c) 2006-2007 Abdulaziz Ghuloum
The shipped versions should display
Ikarus Scheme version 0.0.2
Copyright (c) 2006-2007 Abdulaziz Ghuloum