Source code accompanying the paperMarkus Klinik, Jurriaan Hage, Jan Martin Jansen, and Rinus Plasmeijer. Predicting resource consumption of higher-order workflows. In Proceedings of PEPM 2017, Paris, France, January 18-20, 2017, pages 99–110. ACM, 2017a. ISBN 978-1-4503-4721-1.CONTENTS- .dcl/.icl: the Clean modules of the analyzer- .prj: project files for the main program and the test- test: test cases for the corresponding Clean module, includes source code forthe TestFramework needed to run the tests- bash_completion.d: source this file in your .bashrc to get simplecommand-line completion for the mtasks command.- programs: example programs to demonstrate the analyzer- More information on how to compile and run this program can be found in README.txtSHORT SUMMARYWe present a type and effect system for the static analysis of programs written in a simplified version of iTasks.iTasks is a workflow specification language embedded in Clean, a general-purpose functional programming language.Given costs for basic tasks, our analysis calculates an upper bound of the total cost of a workflow.The analysis has to deal with the domain-specific features of iTasks, in particular parallel and sequential composition of tasks, as well as the general-purpose features of Clean, in particular let-polymorphism, higher-order functions, recursion and lazy evaluation.Costs are vectors of natural numbers where every element represents some resource, either consumable or reusable.