ProjectExamples.md 2.01 KB

Example Project: Interactive Structure Editor

Phase 1: Conception

This project will consist of extending Nested Pairs with new language constructs, beyond pairs. Nested Pairs is a simple in-browser structure editor for interactively editing ASTs of nested pairs. Structure editors are popular in professional tools, such as mbeddr. See also: mbeddr paper and mbeddr homepage.

Phase 2: Refinement

The starting point for refining this project is the current nested pairs implementation in OCaml. To run the code in the browser, the OCaml code is compiled to javascript via the js-of-ocaml compiler. The proposed project will extend the OCaml implementation with new language features, beyond pairs. These features are to-be-decided.

Example Project: Interactive GraphMovie Tool

Phase 1: Conception

This project will consist of re-implementing Graph Movie in a new javascript framework. Graph movie is an in-browser tool for viewing dynamically-changing graphs. The tool was used to debug the development of the research paper Incremental Computation with Names (OOPSLA 2015), and the workshop presentation Correct-by-construction Interactive Software.

Phase 2: Refinement

The starting point for refining this project is the current graphmovie implementation, which uses the JS framework JoinJS. The proposed project will replace this framework with D3, and extend it with new features. These new features are to-be-decided.