Snow is a declarative GUI description DSL, written in a combination of Common Lisp and Java and based on powerful technologies like Swing, MiG Layout, JGoodies binding, Cells. It runs on the ABCL implementation of Common Lisp on the JVM, and it enriches it by providing the GUI versions of the REPL, the debugger (very simple for now), the inspector. It is distributed under the GPL with the classpath exception (the same licence used by GNU classpath and ABCL), which means you can freely use Snow in your program without having your code fall under the GPL.
Features:
- Portable. It runs on the Java virtual machine; it can be used in any Java program, and in any Common Lisp program running on ABCL.
- Declarative, easy to use. The code structure reflects the tree of widgets that make up the GUI. Layout is specified with a CSS-like embedded language. Data binding cleanly separates GUI code from application code and automatically propagates changes in both directions.
- Lisp. Snow builds up on Lisp and inherits all its great features like powerful metaprogramming facilities, interactive development, OOP.