[Changes for 0.09 - December 22, 2004] * Installing this module no longer requires SWIG. Yay! * Fixed a spurious warning from t/1-basic.t. [Changes for 0.08 - June 15, 2004] * Object and Environment now has ->val and ->sym to easily create MzScheme objects from Perl. * Fixed building and eliminated segmentation faults on Mac OS X. [Changes for 0.07 - June 15, 2004] * MzPerl now correctly supports end-of-file as end of ";__PERL__;" regions. * All MzScheme code are now evaluated in Language::MzScheme::Env::__eval; this made Spiffy-based modules (eg. IO::All) work better. * Avoid importing invalid symbols, such as '(OVERLOAD', into MzScheme space. * Adds nifty call/cc example to bin/mzperl's POD. * Suppressed harmless warnings under -w. [Changes for 0.06 - June 14, 2004] * Beginning of at least some module documentations. * Massive refactoring for Perl method wrappers, resulting in better * error handling and more robust symbol importing. * The script/mzperl program now supports inlined Perl code, via ;__PERL__; ... ;__END__; blocks. [Changes for 0.05 - June 13, 2004] * Much more efficient vector<=>arrayref type conversion. * Context symbols added to function definition and runtime object invocation with sigils; the default context is to interpret it as scalar if only one value has been returned, and as a list otherwise. * Objects and code references now preserve their identity when casted into scheme object and later dereferenced with ->as_perl_data. * Environment is now created with Language::MzScheme->new, which adds perl-specific bindings (perl-use, perl-require, perl-do, perl-eval) on top of the basic env. * New utility, script/mzperl, a perl-embedded mzscheme interpreter. * Full round-trip for non-self-referential data structures now works; you can now pass unblessed references into scheme. (Blessed references already works as object closures.) * Proper error handling; scheme-level errors are turned into "die" calls; calls within eval{} will return scheme_undefined, but $SIG{__DIE__} will catch the actual error. * Object closure invocation now demands a method instead of silently dying. * Extensive tests for context, object, data, perl-calls and error handling. [Changes for 0.04 - June 11, 2004] * Backported to SWIG 1.3.19 and earlier versions. * Methods refactored into Language::MzScheme::Object and Language::MzScheme::Env classes. * All scheme value types turned into properly overloaded Perl objects; type checking methods, eg. ->isa('CODE'), are also implemented. * Deep copying into perl data structure supported as $obj->as_perl_data. * Previously exported symbols now become class methods for Language::MzScheme, with the prefix 'mzscheme_', 'scheme_' and 'SCHEME_' removed. * Transparent procedure calls across perl/scheme boundaries. * Perl objects and classes may now be bound as scheme primitives. * To invoke perl objects from scheme, do this: (object 'method arg1 arg2 ...) [Changes for 0.03 - June 9, 2004] * Build cleanly on SWIG 1.3.21, which we now require. * It is now possible to insert Perl subroutines as MzScheme primitives. (See t/1-basic.t for how.) * Perl-based primitives can both accept and return lists of any size. [Changes for 0.02 - June 7, 2004] * Worked around automatic "swig -shadow" on Mac OS X, by not rebuilding lib/Language/MzScheme_in.pm by default. * All publicly supported functions from "schemex.h" are now wrapped. * Fixed ithreads building problem by setting scheme_set_stack_base(). [Changes for 0.01 - June 7, 2004] * Initial CPAN Release.