Implemented task evaluation without forcing tasks to return and process lists of results. Tasks still need to be adapted to work with these changes.
Changed all library tasks to not expect and produce lists any more.
A few more fixes.
Wrong collect strategy in evaluate primitive.
Return existing instruction collection instead of creating a new hashmap in the case no instructions can be evaluated.
Fixed instructions without any dependencies not being executed.
Move storing reads before task failure can occur.
Fixed collect introducing lists into definition resolution tasks.
Fixed lookup mapping over a non-list.
Fix tasks that have dynamic dependencies enabling other tasks.
Don't use IStrategoInt as task identifier type.
Fix missing Hd since task-get-result still returns a list of results.
Namespace may not be present in hashmap generated by import closure.
Remove taskID from nextScheduled instead of instruction.
Fixed solved task not being detected as a solved task.
Dynamically set certain tasks as task combinators, instead of a static list in the evaluator.
Cleanup.
Merge branch 'master' into improvement/no-list-results
Prevent queuing evaluation for a task more than once.
Clean up task again before evaluating it, since it may have already been evaluated before.
Fixed wrong PropCheck result.
Remove more debug logging.
Merge branch 'master' into improvement/no-list-results
Clear messages and reads only when the task is actually evaluated.
PropLookup tasks add a read to the definition they looked up.
Merge branch 'improvement/no-list-results'