Object I/O is a library for building GUIs. The original version was written in Clean from university of Nijmeegs. At 12th International Workshop on the Implementation of Functional Languages Peter Achten and Simon Peyton Jones, presented the first attempt to port library to Haskell (See here). The initial port has been very simple, but supported basic features of the complete library. I decided to continue their work and now Object I/O supports a large list of features: Windows, Dialogs, Various types of controls, Menus, Timers, Graphics and some other.
Object I/O works under GHC-5.02 and higher for Windows. The Linux version is under development.
Binary release for GHC-5.02.1 Documentation
Note: There isn't precompiled packages for GHC-5.02.2 and GHC-5.02.3 but you can can compile them from sources. GHC-5.04 comes with ObjectIO together.
New!ObjectIO update for GHC-5.04
| 1 | Too many bug fixes |
| 2 | Support for the ListBox control |
| 3 | New WindowResize attribute which defines handler for window resizing. |
| 4 | All colour constructor like White and Black are replaced with functions (white and black respectively). The Colour data type now have just one RGB constructor. |
| 5 | getRadioControlItem(s), getCheckControlItem(s) and getPopUpControlItem(s) functions are replaced with getControlItem(s) function. The new function also works with ListBox control. |
| 6 | selectRadioControlItem and selectPopUpControlItem functions are replaced with selectControlItem function. The new function also works with ListBox control. |
| 7 | markCheckControlItems, unmarkCheckControlItems and getCheckControlSelection(s) functions are replaced with getControlMark(s) function. The new function also works with ListBox control. |
| 8 | The openFont function is removed. You need just to pass value of type Font to setPenFont function. |
Sources are available from the WEB or from GHC repository
There are some interesting examples: Worm, Life, Slide, Hanoi and other