▲ | thayne 3 days ago | |
My biggest problem with gleam is the lack of any kind of ad-hoc polymorphism (interface, trait, typeclass, protocol, etc.). It also seems weird to make a language for BEAM that depends on a separate library for actors and concurrency. | ||
▲ | Nezteb 3 days ago | parent | next [-] | |
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://mckayla.blog/posts/all-you-need-is-data-and-function... [2] https://news.ycombinator.com/item?id=40645489 [3] https://github.com/gleam-lang/otp#limitations-and-known-issu... | ||
▲ | 3 days ago | parent | prev [-] | |
[deleted] |