This is an announce for the release of JazzScheme 2.3 (www.jazzscheme.org).
JazzScheme is a development system based on extending the Scheme programming language and the Gambit system. It includes a module system, hygienic macros, object-oriented programming, a full featured cross-platform application framework, a sophisticated programmable IDE and a build system that creates binaries for Mac OS X, Windows and Linux. JazzScheme has been used for more than 10 years to develop high-quality commercial software.
See http://www.jazzscheme.org/installation.htm for details on installing JazzScheme from its public Git repository.
NEW IN 2.3 Kernel * Added -load option to load a specific module * Added -eval option to evaluate code after loading the kernel * Added -test option to run the validation suite of a product * Added -force option to the kernel that can be used with -compile * New crash handler that will output a backtrace when a crash occurs
Build System * Static build of libraries * The Jazz kernel can now be built as a library * Build system is now fully scriptable * Added an option to build executables without including the Gambit compiler * Added new options to build without debug environments or debug location * Added parallel build support specified by jobs: number-of-jobs * Added a -link option (objects libraries all) to the build system
Language * Module require/import/export are now special forms * Added a validation suite for Jazz * Added support for public / protected modules * Import conflicts are now detected * Major simplification and cleanup of everything related to literals * Added walk-time argument count validation * Implementated runtime library access of its exported symbols * All Jazz exception handling now fully supports scheme exceptions * Printing load stack in error message when cyclic dependencies occur * Added override modifier to methods overriding a base virtual method * Replaced function special-form with lambda in all modules * Now supporting slots in meta classes * Added initial support for type-safe enumerations
Hygiene (many thanks to Alex Shinn) * Added support for hygienic macros using syntax-rules * Initial define-syntax support * Converted many macros to the new hygienic define-syntax
Gambit * Added a new 'gambit' library that exports every Gambit procedure * Now cataloging Gambit's define-type-of- special form * Added an API to Gambit's structures and types * Added support for s8/u8/.../f32/f64 homogeneous vectors
Framework * Every repository and package is now automatically an alias * Greatly improved load time of applications
User Interface * Added support for merged cells in the tree view
Cross-Platform * Many fix to X11 so it is now in a fairly usable state
Libraries * Irregex - Ported Alex Shinn's Irregex library * Match - Ported Alex Shinn's Match library * Statprof - Added support for keeping a backtrace for each registered call * Added base64 module (from Gambit's examples) * Loading of a PNG image from a u8vector
IDE * Catalogs are now automatically updated on save in a background thread * Regular expressions support in the multi-search/replace * Added a define-form macro enabling user forms to extend the IDE * Added basic arrow navigation in F8 * Added a new SQL workspace * Started a Showcase view to showcase available widgets * Launch time error now get reported after IDE has finished launching * Made mouse copy work accross views and in plain texts * Added Debug With... menu item to debug using any kernel (core, debug, ...) * Added full-screen functionality * Added register-user-completion(s) to user extend auto-completion * Directories search is now done in a background thread * Every text style can now be customized in the preferences. Have fun! * Started work on workspaces composed of independant OS windows
Emacs * Added support for all basic emacs commands * Incremental search with highlight of every occurence found * Added c-x c-f find-file, c-x c-F find-filename and c-x b find-buffer * Adding M-y cyclic-paste behavior to emacs bindings * An experimental implementation of paredit is available
Debugger * Major improvements to the remote debugger * Inspectors now work with remote REPLs * Added a Show Dynamic Environment button to the Variables pane * Added access to selected frame local variables in REPL evaluations * Started work on integrating Gambit's stepper in Jedi * Now binding debuggee's current-input/output-port to the debugger's console * The inspector can now inspect Gambit structures and types
Designer * Started work on a full-fledged GUI designer
Website * Added a new Hello World tutorial section * Added a FAQ
ON THE HORIZON
* Prototype-based programming * Static link of executables * Finish work on the GUI designer