04 March 2008

GUI Toolkits - Mythos

A while back I blogged about some ideas for GUI toolkits, not that I ever managed to get off my backside and do something about it.

Well someone has done a great job with a DSEL (domain specific embedded language) with a toolkit called Mythos. To quote the website "Mythos is a GUI library written in C++ using modern C++ techniques." It does state on the website that it is more of a proof of concept than a fully-blown attempt.

Still, it looks really interesting and has a few different components that make it up. There is khaos which does the low level windowing bits and pieces. nyx is the window layout library with a DSEL that lets you define the ayout in the C++ files. iris does the event handling with another DSEL for associating events and actions. gaia is the widget abstraction.

Overall it looks like a very interesting use of modern C++ applied to GUI toolkits. It is a different approach to something like Adobe's ASL (adam and eve) but I think if the use of the code generation available through templates should be used to take the legwork out of defining user interfaces. Mythos, which is the work of one person as far as I can tell (Benaka Moorthi) is a pretty neat accomplishment.