Sun Mar 4 16:51:00 CET 2018

Type checker + abstract evaluator

- write code + (optional) type annotation in Erlang
- translate code from Erlang parse tree to embedded language in Haskell
- type check
- (optional) do abstract evaluation

This will solve the main problem: Erlang code that passes the type
check will not have type errors.

Disadvantage: embedding is likely to be rough, so the Erlang code that
passes this will be a subset.

It will not work for multi-processing code.  But it might still be
possible to create Erlang abstractions that can be represented in