[snow-announce] Snow 0.3 released

Alessio Stalla alessiostalla at gmail.com
Thu Feb 11 20:51:11 UTC 2010


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




More information about the snow-announce mailing list