1. 15
  1.  

  2. 3

    What’s Core Erlang, relative to Regular Erlang? I tried googling it, and it was not as useful as I thought it would be

    1. 4

      it’s a compiler IL. several other beam languages use it as a target, and a lot of tooling (most notably the dialyzer) works directly on it. in the context of the series, iirc it’s the form that the compiler runs a lot of transformations on for optimization.

      1. 2

        I could be mistaken, but I believe I read in some white paper at some point, that the dialyzer project needed an intermediate format (one that would make their lives easier) in order to proceed. So Core Erlang sprung out those efforts during dialyzer’s infancy at Uppsala University. Feel free to correct me where I’ve mis-remembered.

        1. 2

          I have since read a bit on Core Erlang, Dialyzer works on the intermediate format directly. The intermediate format is also what Elixir (and other BEAM languages) compile down to, which is why the Dialyzer works at all on them. Really cool.

        2. 1

          If my understanding is correct, it’s basically an intermediate compilation target between normal Erlang code and what runs on the BEAM.