into established IDEs Editor-based approaches to language-specific support Work on tool/component integration: e.g., ToolBus, Linda Disintegrated Development Environments Simplify, simplify, simplify Separate components as much as possible Simple JSON messages sent using ZeroMQ 2 / 10
in Haskell file Server: wrapped Hoogle command to search APIs Sink: display Hoogle output in editor view Broker hoogle output type User wrap hoogle type select type in editor editor editor hoogle output show output in editor 6 / 10
editor Server: Scala interface to existing MiniJava compiler Sink: display compiler AST, errors and output in editor Broker AST, errors, output program User MiniJava compiler program edit MiniJava program editor editor show AST, errors, output in editor AST, errors, output 7 / 10
and code Performance is good enough for interactive use Proof-of-concept applications are already useful Modes of interaction not shown in the demo are possible (e.g., append to view, replace selection, context-menu/completion) Work in progress Network-based servers Source-to-product origin tracking Project-based processing (e.g., build servers) Graphical sinks to display HTML or SVG products Interactive applications: debugging, REPLs Packaging so that others can use it and can contribute 10 / 10