We present a type and effect system for 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.
|Title of host publication||Proceedings of the 2017 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation|
|Subtitle of host publication||PEPM 2017|
|Publisher||Association for Computing Machinery|
|Number of pages||12|
|Publication status||Published - 2 Jan 2017|