Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Five months ago I tried to have a discussion about starting to depend on the external Dash library. Unfortunately a troll appeared, making any meaningful conversation impossible. This was very stressful and shortly after I almost had a burnout. Back then I said I would eventually reopen the discussion. I have now decided not to do so and instead have start to depend on dash without any further discussion. I have considered the concerns raised back then and have come to the conclusion that me having to work around Emacs Lisp's limitations is a greater cost (not only to me, but also to Magit as a project and to its users) than any of the concerns that were raised. --- I write Emacs extensions because working with "the buffer" as opposed to e.g. "the dom" is rewarding. On the other hand Emacs Lisp leaves much to be desired. Using Dash makes some of the major pain points go away. That's why many in the new generation of extension authors use Dash. It makes our lives easier if we don't have to constantly reinvent the wheel, just so that we too get to use some of the improvement made to LISP over the last few decades. Users benefit too, because by using a library we can focus on the project specific issue. And when we use well tested and widely used libraries instead of quick hacks, then bugs are less likely. On the other hand this might cause some inconvenience for some users. But it is the author not the user who gets to decide what language (and in this case language libraries) the author uses. By improving Magit I provide a lot of convenience to its users. A troll who attacks me for occasionally doing things that make my life easier, instead of his life, misses the bigger picture. Consider it a reward for working on Magit. --- At this point I have just quickly scrolled though the code and started to use forms from Dash in places that jumped at me. There surely are many more places where doing so would be beneficial. As I run into these places I will start using Dash there too.
- Loading branch information