[erlang-questions] ANN: wxi, a library to build composable GUI on top of wxErlang

Jordan Wilberding <>
Fri Apr 2 18:20:07 CEST 2010

I have been wanting to do something like this for a long time, glad someone
finally did :)


On Fri, Apr 2, 2010 at 7:15 AM, Dimitry Golubovsky <>wrote:

> Hi,
> I have been working on this library for some time; now that it is
> getting into shape I'd like to announce it to the Erlang community.
> The wxi library [1] is based on the same ideas as found in the Haskell
> GUI library Fudgets [2]: each element of graphics user interface (a
> widget) also acts as a "stream processor" for streams of events
> (messages) generated from user input and I/O operations. Processed
> messages are passed around from widget to widget. Thus, desired user
> interface layout and dynamics can be achieved via functional
> composition of such GUI elements.
> Each widget is defined as a function of certain structure, widgets can
> be nested, combined in parallel and in sequence (in terms of message
> handling). There is no central event loop: each widget is responsible
> for capturing and handling its own events. There is no central GUI
> state: widgets that encapsulate state are implemented as processes;
> stateless widgets are just functions tail-calling other widget
> functions to pass messages around.
> The wxi library is in early development state: while the core
> functionality (composition of widgets) is more or less working, the
> library of general purpose widgets is not yet completed, but this is
> only a matter of time and users contributions.
> For now, the library contains only one module [3] containing widgets
> composition functions and few generic widgets (panel, button, text
> display). there is a brief tutorial [4], and an "obligatory" example
> of calculator [5] with detailed comments in code.
> To give the library a try, download a repo snapshot [6], or clone the
> repo: (see http://code.google.com/p/wxi/source/checkout).
> I will be happy to hear from the developers of Erlang-based projects
> that involve wx-based GUI whether using such a library would be more
> convenient and productive in comparison with "traditional" way (e. g.
> the wx-based GUI to dialyzer which is based on a central event loop).
> Thanks in advance for any ideas and suggestions.
> =====================================
> 1. http://code.google.com/p/wxi/
> 2. http://www.md.chalmers.se/Cs/Research/Functional/Fudgets/
> 3. http://wxi.googlecode.com/hg/src/wxi.erl
> 4. http://code.google.com/p/wxi/wiki/AnatomyOfWidget
> 5. http://wxi.googlecode.com/hg/examples/wxicalc.erl
> 6. http://wxi.googlecode.com/files/wxicalc-2010-04-01.tar.gz
> --
> Dimitry Golubovsky
> Anywhere on the Web
> ________________________________________________________________
> erlang-questions (at) erlang.org mailing list.
> See http://www.erlang.org/faq.html
> To unsubscribe; mailto:

More information about the erlang-questions mailing list