@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

In addition to releasing , we have also gave some , , and some love.

None of them have any internal warnings now while used with !

We hope you will enjoy functional programming in !

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.

Update about the toot from three days ago.

We're not yet sure what will we do about `new` moving forward, I would expect some breaking changes there, since we really want to please the .

Our team member has asked the authors of libraries about their take on it and we're waiting for the response.

discord.gg/fissioncodes / discord.com/channels/478735028

Attention users.

Functionality of generating `new` functions based on default values is staying, **but**, make sure to never write your own `new` functions yourself.

Please write your constructors as `def mk`.

If you used rose tree[1] implementation, you'll be hit with a breaking change as `rose.ex` moves to this convention.

en.wikipedia.org/wiki/Rose_tre

Doma Social

Mastodon server of https://doma.dev.