New EEP draft: Pinning operator ^ in patterns

Valentin Micic v@REDACTED
Thu Jan 28 16:39:17 CET 2021

> 2) Composition fallacy — if it is good for WhatsApp, it must be good for everyone;
> That's not something I have claimed, though. I have agreed that for a lot of simple code, ^-annotations will look superfluous. What's good for WhatsApp is more likely to be good for other companies with large codebases, like Klarna (where I worked for many years), but even then it's not for certain, if it's something that addresses only a problem for the "huge instant messaging service". In the case of ^-annotations, and probably scoping in general, I think we've seen that it's not specific to WhatsApp, but at the same time that it's not so important for smaller codebases. The question is whether those with small codebases can agree to such a change on the merit that it's not too annoying either and occasionally solves a problem for them too.

Hi Richard,

You are correct. 

In my defence, I did say: "logical fallacies engaged by supporters of this proposition” (therefore, not you in particular).
Nevertheless, I do apologise for conflating these issues.

I do sense a bit of (probably unintended) condescension in your remark about “those with small codebases”. Maybe not? Oh, well...

I hope you would agree that a size of the code base may not be related to  an adoption rate of a given service implemented by such code (therefore, “huge instant messaging service” says nothing about the code size, or its complexity). 

Having seen a fair share of complex code myself, I would argue that a code complexity is probably directly proportional to a number of  years such code has been in service and amount of different people involved in its maintenance over that time. 

Complexity can be quite crippling to any given organisation (big and small alike), and I think that the main cause for that could be found in a considerable degrees of freedom programmers enjoy during the various stages of the system’s lifecycle.

Maybe your proposal for “pinning ^ operator” (or, as now renamed: ^-annotation) may improve this?

After all, since there’s no Nobel Price for programming, nor any extra credit to be gain by  various aesthetic and artistic expressions built into the code, enforcement of some discipline may go a long way, even if painful in a short term.

Kind regards


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the erlang-questions mailing list