From Clean
Revision as of 09:01, 22 September 2022 by Mart (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

The iTask system (iTasks) is a task-oriented programming toolkit for programming workflow support applications in Clean.

With this toolkit, interactive systems can be specified using combinators in a very high level declarative monadic style. Programs are constructed by combining typed 'tasks'. These tasks produce results that can be passed as parameters to other tasks. Tasks are constructed by combining single steps sequentially or in parallel. From iTask specifications, executable web-based workflow support systems are generated automatically.

The iTask2 GUI

This latest version features:

  • A highly declarative API for specification of interactive systems as task compositions.
  • Automatic generation of web-based user interfaces for entering and updating and viewing data.
  • Automatic data persistance
  • Automatic instant synchronization between different clients using html5 push technologies.
  • Easy creation of JSON webservices
  • A builtin HTTP1.1 webserver
  • Integration framework for common client-side javascript libraries (for example google maps)


Follow the instructions at Download Clean to install the Latest iTask and Clean Release. Stable version (e.g. Clean 3.1) are not supported in combination with iTasks.


You can find up-to-date documentation via the Cloogle search engine which indexes all standard libraries, external libraries, compiler errors, ABC instructions, builtins and syntax elements. Documentation of the concepts of iTasks is still mostly done in scientific papers (look for iTasks on the Publications page).


The iTask system supports recent versions of Firefox, Chrome and Edge.

Read more