Bundle redbug or similar?

Elixir could do with a decent tracer library that’s available out of box. With the greatest of respect for the original authors of erlang the semantics of the bundled :erlang tracers are not great, be it in terms of UX or overgreedy traces.

Redbug provides safety as it by-default terminates after a very conservative hit count (max time, max messages).

Unusually for an erlang module Redbug is self documenting on the erl repl.

I’m just using Redbug as an example, but it illustrates the sort of functionality that would be nice to have around.

Thoughts?

Hey @bryanhuntesl,

I’d expect this to get rejected for the following reasons:

Since v1.0, the language development has become focused to provide a compact and consistent core. The Elixir team focuses on language features that:

* are necessary for developing the language itself
* bring important concepts/features to the community in a way its effect can only be maximized or leveraged by making it part of the language

source

If you wanted to argue for it, I’d target the second bullet point there and make a case for it.

However, Elixir Core has a history of not including things that are already provided in some fashion by Erlang. It has also avoided becoming a batteries included language. The drawback of that is that you may need to pull in more packages. The benefit is that you avoid stale cruft that can build up in a standard library over the years.

So, how does your suggestion “bring important concepts/features to the community in a way its effect can only be maximized or leveraged by making it part of the language”?

1 Like

That seems a bit over-ambitious.

Just having a module would suffice - if it were added to the language that would seem like advocating for pointcuts which I would doubt would ever get added (too heavy).