Transient task (1)
Currently, every task is calculated, its result stored, and inserted when other tasks are evaluated. I am observing a tendency towards a library of very basic tasks, which results are easy or no computations. We might not store the results of such tasks, but (re-)execute them only on insertion. The obvious first candidate is
Id(result)
.As an interface, I have something like
Submitted by Guido Wachsmuth on 13 July 2013 at 01:23is-transient
similar tois-combinator
in mind, which allows for easy experiments by switching transient behaviour on and off for particular tasks.
Issue Log
I agree this would be nice to have. Currently there is some overhead when performing a task however, because the perform-task is polymorphic on the instruction constructor. Every time an instruction is performed it has to ‘try’ all the perform-task strategies which is linear in the worst case. Having transient results will make this a little bit worse. We can make it constant by using YAHM (Yet Another Hash Map) from constructor (name + arity) to perform strategy, but I guess this is a separate issue.
Just to be clear on that: It is really just something nice to have, but not urgent.
Yeah, let’s tag those things with minor.
Log in to post comments