← Back to context

Comment by Nezteb

2 days ago

I thought so too, although treating everything as data and functions is really nice [1].

Regarding the BEAM and why Gleam has a separate library for actors: [2]

> "One notable difference between Elixir and Gleam is that Elixir gets to just re-use the OTP code as-is (with some Elixir wrappers on top for convenience). Gleam concluded that the OTP is built expecting dynamic types, and that for best results in Gleam they'd need to re-implement the key primitives. That's why the example shown is an "Actor" not a GenServer - it serves the same purpose, and might even fit in a Supervision tree, but isn't actually a GenServer."

There's a brief snippet mentioning this in the Gleam OTP readme as well: [3]

> "Actors do not yet support all OTP system messages, so some of the OTP debugging APIs may not be fully functional."

[1] https://github.com/gleam-lang/otp#limitations-and-known-issu...