Building a Graphical IDE in Elm for a Distributed PLC Language Compiling to BEAM

Claudia Doppioslash
Game Developer & Innovative Languages Programmer

Building on elmrang a lightweight system to co-develop server-side Erlang and client-side Elm which we develop as Open-Source, we will demonstrate how a complex application like a IDE for one of the graphical PLC (Programmable Logic Controllers) can be built with it.  The PLC programming language is compiled to BEAM files and runs in the Erlang VM in a distributed way.  We will show how the Elm side is talking via Websockets with a Cowboy handler on the Erlang side (elmrang_connect).  On the Elm side we will elaborate on how more complex client side applications can be built and modularised, we will talk about how from Elm 0.16 to the current one the way to do this changed.  On the Erlang side we will talk about the distributed collection of variable value updates and PLC events in mesh networked Erlang distribution.

Talk objectives:

Get an overview of Elm, demonstrate the capabilities of elmrang.

Target audience:

Erlang developers interested in Elm, Elm developers interested in Erlang.


Claudia Doppioslash is a Functional Programmer and a gamedev. Having learned many languages, she ended up preferring strongly typed functional languages, though she's still a moderately smug LISP weenie. These days she's exploring what FP can do for industrial control systems front-ends, using Erlang and Purescript.

GitHub: doppioslash

Twitter: @doppioslash

Back to conference page