3 ms·
I like the purity that might come with decorating basically everything in a codebase with `@freeze_params()`, although I wonder/worry about what the runtime ove
by nickysielicki 5y ago
I like the purity that might come with decorating basically everything in a codebase with `@freeze_params()`, although I wonder/worry about what the runtime overhead might be. I really wish that something like that could be checked statically.
- rcthompson 5y agoIt probably could be checked statically if someone taught the type checker about this package so that it could track which variables are frozen at which points in the code.
- diegojromero 5y agoI'd really love if that could checked statically. Performance is bad, I mean, all params are deep-copied because I assume frozen then "inplace" is not intended as they could be objects used by other parts of code.
- nickysielicki 5y agoI started googling around and I found the following: https://www.python.org/dev/peps/pep-0591/ https://www.python.org/dev/peps/pep-0591/ It looks like mypy can actually understand the hint: https://mypy.readthedocs.io/en/stable/final_attrs.html https://mypy.readthedocs.io/en/stable/final_attrs.html It sucks that this would require such a substantial effort throughout a codebase, though. I guess that’s just the inherent cost of typed python.
- diegojromero 5y agoInteresting, maybe adding a decorator @freeze_final could be a good idea? I'll take a look at it later. Thank you for your input!