top | item 22573326

(no title)

markholmes | 6 years ago

How? This is just a link to a Facebook job post.

Guess this is a good time to plug Gleam though (along with Dialyzer, which has already been mentioned), a statically typed functional programming language which compiles to Erlang.

https://gleam.run

discuss

order

lobo_tuerto|6 years ago

They don't mention how, but this is from the job description:

"Our biggest and the most challenging project is evolving Erlang into a modern statically typed programming language.

Our work is motivated by extremely successful and large-scale application of Erlang at WhatsApp."

milani|6 years ago

It sounds like Elixir ;)

plinkplonk|6 years ago

From the Gleam FAQ

"How is message passing typed?

Gleam doesn't currently have first class support for the BEAM's concurrency primitives such as receive, send, and spawn. This is because research is still ongoing as to the best way to apply a strong type system to them while still enabling established OTP patterns. For now these primitives should be used via the Erlang FFI, making them dynamically typed.

Many OTP patterns such as gen_server are functional in nature and don't require direct use of these primitives so these behaviours can be implemented in Gleam today."

I suspect the FB language might solve this.

lpil|6 years ago

Hi! I'm the author of Gleam. We have type safe actor libraries now :)

I'm interested in what the WhatsApp team come up with here too! I'm not sure it's possible to "solve" this entirely though, message passing in Erlang is extremely dynamic and some of the problems are not possible to solve (i.e. distributed message passing) and will always require some unsafe type casting.

smabie|6 years ago

akka typed is now a thing and it works reasonable well. Though, imo, the actor pattern will always be at odds with statically typed functional programming.

krainboltgreene|6 years ago

Wow, gleam looks incredible. I love the syntax. Thanks so much for sticking to just double quotes!!!