PolyChrome is an extension for Firefox web browser that can run Standard ML programs embedded in HTML documents. The extension provides a simple foreign function interface to JavaScript. As a result, JavaScript libraries and interfaces provided by the browser, such as DOM and Canvas, can be used from Standard ML.

Why do this?

What are the limitations?

How does it work?

PolyChrome in action

About the Project

PolyChrome was developed by Karolis Narkevicius and Lucas Dixon. We'd like to thank EPSRC Platform grant The Integration and Interaction of Multiple Mathematical Reasoning Processes", and the Edinburgh DReaM group for supporting this work. We'd also like to thank David Matthews for his input, ML wizardry, and tireless maintenance of PolyML.