research into elm

Skip to first unread message

Rodrigo Stevaux

Apr 25, 2018, 12:27:33 PM4/25/18
to elm-dev
Hi, I am a graduate student (masters but maybe PhD) an I have interest in formal methods & PLT. Also I do some work as a web developer.

I am amazed by the developer experience in Elm. And maybe if I could make it the subject of research I would be very happy.

I have a couple ideas of the top of my mind, but I would be very dear to hear the community's!
  • Proving soundness of the type system.
  • Adding typeclasses to it.
  • Modeling the type system formally.
  • Proving parts of the compiler.
  • Trying to make a server-side web experience like elm.

Thinks I know that might be relevant:

  • I took an interpreters class and I can write simple interpreters in Haskell w/ Parsec, I have been a lot of fun poking at lambda calculus interpreters
  • I can write monadic code and I have basic with basic monads like State, Reader, Writer
  • I am studying type theory & formal proof
  • I've been also poking around with Alloy (formal modeling tool) and Coq, though I am far from fluent in these

Community, is there anything I can do to help?

Evan Czaplicki

Apr 25, 2018, 12:45:14 PM4/25/18
to elm-dev

I have listed some projects here that I think have decent prospects.

I also did this talk about how we collaborate in this community. I very strongly recommend watching it if you are serious about working with core folks!

One thing that is important for core contributors is that they have a shared understanding about where Elm is headed and how we plan to get there. So on that note, the ideas you suggested make me worried about how different our perspectives are at this moment in time. E.g. There are no plans to add user-definable type classes to Elm, so there is no work to do there. (It has been discussed endlessly, so def this isn't the thread to go down that road.) Making Elm on servers is not just about making a new backend as I detail here. Some theorize that SML was actually hurt by having lots of proofs about the language because it ended up being a barrier to change.

Point is, I think you are trying to do (idea from academia => Elm) whereas we try to focus more on (problem from day-to-day work => research-informed engineering). Here are examples of how each of these might go:
  • "I spent a year or two learning Coq" => "let's find something to do with that"
  • "man, I really think that step-by-step debuggers are annoying" => "how could we use the fact that Elm is pure to do better?"
As a general rule, we try to do the 2nd one.

Anyway, hope the links are helpful! Hope the context about design process is helpful too! (I think it may sound harsh, but it's more that I have a meeting in a few minutes and cannot edit more!)


You received this message because you are subscribed to the Google Groups "elm-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To view this discussion on the web visit
For more options, visit

Rodrigo Stevaux

Apr 26, 2018, 3:34:53 AM4/26/18
to elm-dev
Hi Evan I don't think your response is harsh, don't worry

I'll look into the links you provided!

To unsubscribe from this group and stop receiving emails from it, send an email to
Reply all
Reply to author
0 new messages