The original running on Windows
The stripped version running on Ubuntu
The port running in Chromium
This project contains a port of wxAsteroids that runs in the web browser.
WxAsteroids is a clone of the classic asteroids game and was used to demonstrate several aspects of the
wxHaskell library in the wxHaskell paper.
The source has stayed largely unmodified, but parts
of wxHaskell (in wxcore) that depend on the underlying wxWidgets C++ GUI framework have been replaced with an implementation in terms of Haskell and Javascript. In order to leave the wxcore interface intact we had to maintain the C++ design and thus required Object-Oriented (OO) constructs like classes, objects, inheritance, subtyping, etc. to be
available. By default Haskell has none of these, however the authors of OOHaskell show that these features can be implemented in Haskell without
the need for language extensions. Inspired by their work we created our own library for OO programming in Haskell based on regular Haskell records, which we used to implement a subset of
wxWidgets in Haskell.