@leobm for me, investing in #Gleam is the same amount of effort (to me) than investing in #PurErl, but with PurErl I get the whole power of purescript type system at my fingertips and ease of extending the compiler. And portable types!

With Gleam, I tried to write compiler code but gave up (because I'm a silly goose).

None if this is a nudge against Gleam, it's very good and I would even say *correct* way to code for BEAM in 2025. It just doesn't suit my preferences at the moment!

Thank you for bringing it up. 💙 💛

In case you wonder what's my preferred stack to build services right now, it's as follows:

- #Elixir runs the system itself. No to #Phoenix, #Ecto, yes to #Plug, #Commanded.

- #Rust does the business-logic heavy-lifting. Normally single-threaded workers.

- #Typescript with #ReactJS and #Jotai does user-facing computations.

- #ETS for data views, #PostgreSQL for immutable history of the events and other data that is only INSERTed, never UPDATEd.

* * *

I am planning to see if I can replace #Elixir with #Purerl when I have the time.

I want to do two things in life — help kill russian occupants (or kill russian occupants) and write in #purerl. 😭

Such opportunities, alas, are rare and far between.

@ryansch we'll write a blog post after we publish a product using #Goo, but TL;DR is the following.

1. Why?

Despite #Witchcraft library being an established functional programming "prelude" for #Elixir (#AppSignal even has a blog post about it!) and #Elixir being a 1.x language, they still deprecate key features that make #Witchcraft ergonomic[1] and refuse to accept generalizations that would further improve FP programmers' user experience[2]. We don't want to comment on how we feel about it from the industrial language design best practices standpoint, but here's the pragmatic take. We have chosen #Elixir as the backbone of our stack over #Purerl because it has #Dialyzer and #Witchcraft, otherwise we would've contributed to #Purerl instead. So, practically, for us it's the path of least resistance to fork Elixir and reclaim the functionality we assumed it will have when we were choosing our stack.

# What?

There is no way to tell what #Goo will look like in the long run (think: post #Elixir v2). Practically, #Elixir upstream feature set can be characterised as "unpredictable".

In the immediate future, #Goo shall track #Elixir and maintain an FP-friendly patchset. In the immediate future, we also will be happy to accept more functional programming features both into the language *and* into the set of libraries we support[3].

The only thing we are certain about is that #Goo will forever be a super-set of #Elixir. So if Elixir v2 will diverge from Elixir v1 entirely, most likely we'll freeze Goo in favour of developing new projects in #purerl. Unless Goo will assemble a community, that is.

Not sure this train of thought answers your questions, feel free to follow-up.

[1]: https://elixirforum.com/t/how-difficult-would-it-be-to-add-the-infix-notation-a-la-haskell/19143/26
[2]: https://github.com/elixir-lang/elixir/pull/11588
[3]: https://social.doma.dev/@goo/109940130593807791

How difficult would it be to add the infix notation à la Haskell?

Is that really more clear/expressive than this? fn x -> x |> Binary.new!() |> then(& &1.raw) |> B.mk_url!() end or even fn x -> binary = Binary.new!(x) B.mk_url(binary.raw) end I guess it’s a matter of preference but the only thing valuable I see in your example is map as a more general(as in generic functor map) instead of just Enum.map. I get the value of a Functor and maybe even Monad or Monoid in your codebase if you enjoy these generalised operations in your codebase, but w...

Elixir Programming Language Forum
@sasajuric (btw, jokes aside, check out #purerl!)

I'm trying to stick to #OTP, and I'm scared of #Gleam because it basically wants me to mostly use channels. More rigid #OTP is scary for me in #purerl.

But #rust people aren't scared of it more lower level stuff.

But at this moment, it feels like a move to #purerl is warranted for at least one software system we make, forcing us to contribute to an actual future tech and perhaps move back to #gleam as default and make that #orleans-like actor library?..

Ughhh, why can't such a great language as Elixir be just a iota more acommodating.

We need your content for the BEAM Devroom @ FOSDEM'23!

@fosdem is not limited to developers who already know the BEAM, so we are happy to receive submissions suitable for an audience who never even heard of the BEAM ecosystem (e.g. introduction talks to languages, libraries, etc).

Don't be shy, it's a great occasion to meet and spread the BEAM word!

The Call for Talks closes today!
https://beam-fosdem.dev/
#elixir #erlang #gleam #lfe #purerl @elixir

BEAM FOSDEM

Welcome! At FOSDEM 2024 we’re having the 3rd edition of a Devroom completely dedicated to the BEAM (and all languages running on it). FOSDEM is an annual conference about free and open source software, attended by over 8000 developers and open-source enthusiasts from all over the world. When and where The devroom will take place on Saturday, 3rd February 2023, between 10:30 and 14:30. It will be hosted in Room K.

BEAM FOSDEM