Git is rather timid with merge conflicts. If you change two adjacent lines, it assumes they conflict! https://softwareengineering.stackexchange.com/questions/194788/why-doesnt-git-merge-adjacent-lines-without-conflict
In my experience they don't, and it causes problems when library imports change at the top of the file. Interestingly, Subversion happily merges.
miniblog.
Related Posts
Code completion often assumes that there's nothing after the cursor.
For example, when I'm writing CSS:
padding-b|: 10px;
I should still get completion for `padding-bottom`. This is a hard problem, but I've seen few IDEs handle this well.
Interesting @lambda_conf talk showing how Dialyzer ('discrepancy analyzer') offers gradual typing for Erlang and Elixir: https://youtu.be/FXCMiQWnWu0
It's a neat type system: it uses 'success typing', (it assumes you're correct) and exotic features like ranges and non-empty lists!
Whilst I've seen many teams use monorepos successfully, it assumes that there's a common contribution process for everyone.
A PL community needs to have different projects with different processes, and that requires packaging tooling. I wonder what the size upper bound is.