-
Notifications
You must be signed in to change notification settings - Fork 7
Description
The writing has been on the wall for a long time for Daggers lazy API (which is what powers FileTrees lazy mode) and in the latest release it gives deprecation warnings when used.
I personally use the lazy mode quite a bit in my workflows so I wouldn't mind adding a simple lazy computation framework in FileTrees. I'm not sure however if it is just because 1) I'm used to it and 2) I underestimate how much effort it would be to maintain it.
I haven't given it much thought, but it seems that a lightweight lazy computation framework which just recursively executes the thunks would not be much extra work. Getting parallelism on this could then just be to put Dagger.@spawn
in front of every call when executing or something.
I guess this also gives the opportunity to have Dagger as an weak dependency. In about 90% of my use cases I don't have any use for parallelism and if this is similar for other users it could reduce the weight of the package by quite a bit.
Maybe one could also have a weak dependency for Distributed, although I guess that would be a slippery slope towards reimplementing the entire lazy machinery in Dagger which should probably be avoided.
@shashi and @jpsamaroo : I guess this will be a larger change to the package in either case, so I'd like to get your opinions if you have the time.