Follow

Presenting v0.1, which corresponds to v1.15.0-dev.

github.com/doma-engineering/go

We're planning to just maintain a small patch set for the time being which is put in place to support ergonomic in Elixir in general and library family in particular.

@goo Do you have a primer somewhere that explains the Why and the What?

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

1. Why?

Despite library being an established functional programming "prelude" for ( even has a blog post about it!) and being a 1.x language, they still deprecate key features that make 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 as the backbone of our stack over because it has and , otherwise we would've contributed to 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 will look like in the long run (think: post v2). Practically, upstream feature set can be characterised as "unpredictable".

In the immediate future, shall track 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 will forever be a super-set of . So if Elixir v2 will diverge from Elixir v1 entirely, most likely we'll freeze Goo in favour of developing new projects in . Unless Goo will assemble a community, that is.

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

[1]: elixirforum.com/t/how-difficul
[2]: github.com/elixir-lang/elixir/
[3]: social.doma.dev/@goo/109940130

Sign in to participate in the conversation
Doma Social

Mastodon server of https://doma.dev.