From alessiostalla at gmail.com Thu Feb 11 20:51:11 2010 From: alessiostalla at gmail.com (Alessio Stalla) Date: Thu, 11 Feb 2010 21:51:11 +0100 Subject: [snow-announce] Snow 0.3 released Message-ID: <835c01921002111251i44e692e6ia53dc196f789a775@mail.gmail.com> Today I released version 0.3 of the Snow DSL. Snow is a Lisp-based declarative language to build Graphical User Interfaces based on Swing, the standard Java GUI framework. It provides declarative, CSS-like layout using the MiG Layout library, and automatic synchronization of GUI and application objects with JGoodies Binding and Cells. Changelog for version 0.3: ------------------------ Snow version 0.3 This is an alpha release, focused on refactoring and simplifying the core engine, providing better Java integration and cleaner API, and supporting more widgets and properties. Main improvements: - Refactoring and simplification of core Snow. It's no longer possible to theoretically change the GUI backend at runtime, among other things. This was impossible anyway because macros would have needed to be changed too for different enough backends (e.g. SWT, because it requires a component to be added to its container at creation time and not later, for example). When SWT will be supported, it'll have to be enabled at read-time with *features*. This makes Snow simpler and more efficient. - :id foo expands to (setf foo self) for all components if foo is a declared lexical variable. - Better Java integration. The snow.Snow API has been made simpler and richer. Introduced the concept of a "backing bean" for the GUI: if provided from Java, this bean will have all the widget with an :id injected into the corresponding property, if any, and event callbacks specified as strings (as opposed to function designators) will be delegated to bean methods with the correct signature. - A few more event listeners are now supported, including mouse events on arbitrary components. ------------------------ Alessio Stalla