Claudia Doppioslash

Claudia Doppioslash
Functional Programmer & Gamedev

Building a Graphical IDE in Elm/Purescript for an Embedded Language that Compiles to the Erlang VM

Functional Programming languages that compile to Javascript can be used to develop complex frontend projects successfully, while sparing yourself a lot of pain and obsessive test coverage.

In this deep dive into the Typed-FP-languages-targeting-Javascript ecosystem, I'll show you how we used Elm to build a complex IDE for a visual PLC language for embedded hardware (Programmable Logic Controllers).

Our PLC programming language implementation gets compiled to BEAM files and runs in the Erlang VM.  That allows us to take advantage of Erlang's distributed model, and through our custom websocket library the IDE can talk directly with a Cowboy handler running on the device, to get debugging information in realtime. 

We'll also cover our choice of framework when porting the IDE to Purescript, good and less good parts of the two languages, and how they relate to Haskell.

Talk objectives:

  • Get an overview of Elm and Purescript 
  • Experience report after using Elm for a real life complex project with deadlines.
  • Experience report of porting an Elm program to Purescript

Target audience:

  • Frontend developers who are tired of Javascript
  • Developers interested in typed Functional languages for the frontend
  • Developers interested in Elm or Purescript

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 Elm.

Github: doppioslash

Twitter: @doppioslash

Back to conference page