Francy is a package for GAP and provides a framework for Interactive Discrete Mathematics.

Unlike xgap, Francy is not linked with any GUI framework and instead, this package generates a semantic model that can be used to produce a graphical representation using any other framework / language.

There is a JavaScript implementation of the graphical representation that works on Jupyter, embedded in a Web page or as a Desktop Application (e.g. using electron).