3 ms·
Thanks for the message! The challenge here is that fastcore is a deliberate attempt to study the design axis of "what would happen if we focused on Python's dy
by jph00 6y ago
Thanks for the message!
The challenge here is that fastcore is a deliberate attempt to study the design axis of "what would happen if we focused on Python's dynamic features, and gave up on static analysis entirely".
Using it effectively really requires a live coding environment, such as Jupyter Notebooks (which we do all our coding in, using nbdev). The majority of Python programmers are not currently using such an environment.
In addition, some of the design choices are literally working around Python design choices which we disagree with, such as the recent change in Python where StopIteration is converted to a RuntimeException, which broke all of our composition of generators.
There are some things, however, which might fit into Python, such as:
- Our ProcessPoolExecutor takes `0` as max_workers, to mean "run in serial", which we find very helpful for debugging
- Something like our `bind` (but less hacky) would be nice
- Multiple dispatch would be great (although our version is customized for data processing - a generic python one would be a little different I think)
- Would be nice if `partial`'s repr showed the original docstring
- Our `delegates` decorator might be worth stealing
- pryelluw 6y agoAppreciate the response. Would it be OK if I reach out through email? Id like to extend a friendly professional relationship between fast.ai and PyATL. My email is in my profile :)