×
Eventil - Find Tech Events
Official mobile app
FREE - In Google Play
View
×
Eventil
Official mobile app
FREE - In App Store
View
Loading...

Designing a Multi-Language Live Programming Tool With Phoenix and Genstage

Nextjournal enables living documents for researchers. Our goal is to make technical writing and scientific research easily reproducible and shareable through beautiful typography and live coding tools. In this talk I'll show how Phoenix channels, GenStage and Erlang ports elegantly solved the complex challenges of building a multi-language, browser-based live programming environment. Starting with a demo of our editor, this talk will cover: Scheduling of code evaluation using a directed acyclic graph of GenStage nodes: despite a non-standard configuration of stages (mostly of constant demand = 1) I’ll show how to take advantage of GenStage subscriptions to mimic dependencies between code cells. Execution workflows shaped around reactive/functional concepts like observables and signal mapping. Interfacing with foreign languages through erlang ports and having such languages “talk together” with suitable serialisation protocols. Code is executed in user-customisable isolated environments to guarantee reproducibility of the methods used. Using the transit format on phoenix channels and Ecto custom types, for efficiently transferring values between applications

0 0
ElixirConf.EU 2017

Contact details: If you have a question about the conference, please email Monika Coles at monika@elixirconf.eu. Code of Conduct ElixirConf.EU is a community conference created to promote educat...