Closed asarhaddon closed 2 years ago
Hello,
First of all, thank you for contributing to Langkit!
Even though as a general principle in software development, each new dependencies has the potential to make things harder for development setup and packaging, in the end it’s always a tradeoff: how hard it is to get this dependency (get the correct version, setup transitive dependencies, etc.) vs. how nice using it in the codebase is (less efforts, more readable code, etc.).
In the case of funcy, we feel that it’s worth using it: given that it is a pure Python library (no native extension or other odd setup), there should be no development setup hassle (especially with pip
these days) and no packaging issue neither (for instance I see it available both in Debian and ArchLinux).
For theses reasons, we’re sorry to say we won't merge this PR, even though we appreciate the work you put in it. For future occurences, what about first opening an issue to first discuss if/how to solve some problem?
Each dependency outside the standard library slightly increases the maintenance cost and the difficulty for new contributors.
Readability is always subjective, but performances are critical for langkit and the changes introduced by this commit should sligthly improve it:
The only dubious change in langkit/dsl_unparse.py constructs an intermediate tuple, but the previous version was concatenating intermediate lists, which is slightly worst.