Remix.run Logo
raphinou 2 days ago

Elixir getting a strong type system is interesting, but watch out for gleam though

But they still miss the computation expressions, which open interesting possibilities like https://github.com/CaptnCodr/Fli and https://github.com/fsprojects/FsHttp

innocentoldguy 2 days ago | parent | next [-]

Gleam lacks lisp-style macros, and its implementations of BEAM and OTP are not exhaustive. For example, Gleam does not support:

- Hot updates.

- Full distributed system support.

– Low-level process manipulation.

- Named processes.

- Advanced supervision strategies.

- Behaviours other than GenServer.

- Type-safe distributed messaging.

- And several other things that I value in BEAM and OTP.

I can't justify trading the full power of BEAM and OTP for static typing. To be fair, though, I've written a lot of code in both statically and dynamically typed languages, and static typing isn't something I value much (to the point that you might say I don't care about it at all :D).

raphinou 2 days ago | parent | next [-]

I knew otp was still suboptimal in gleam, but thanks for mentioning all these additional points!

Funny how preferences and priorities vary among devs, I need my static type system! :-) But note even in static type systems there are variations. I'm talking about an hindley milner type system with its type inference like the one in fsharp

felixyz 2 days ago | parent | prev [-]

My current preference is to use Elixir and its great ecosystem as the shell for my project, and implement the core business logic in Gleam.

innocentoldguy a day ago | parent [-]

Why? The business logic part is where Elixir outshines Gleam the most, isn’t it? What do you gain by doing this?

(I am genuinely curious and not trying to be snarky.)

2 days ago | parent | prev [-]
[deleted]