Difference between revisions of "ITasks"

From Clean
Jump to navigationJump to search
 
(48 intermediate revisions by 6 users not shown)
Line 1: Line 1:
At the '''ICFP 2007''' conference we presented '''iTasks''' [http://www.st.cs.ru.nl/papers/2007/plar2007-ICFP07-iTasks.pdf],
+
[[File:itasks-logo.png|right]]
a multi-user workflow system for the web.
+
The iTask system ('''iTasks''') is a task-oriented programming toolkit for programming workflow support applications in [[Clean]].
With this library one can assign tasks to users and control the order in which these tasks have to be performed.
 
A user uses a browser to perform the tasks assigned to him or her.
 
The iTask system is therefore also very suited for  
 
web programming and web form handling.
 
The tasks are defined on a very high level declarative monadic style.
 
  
Have a look at the iTask pages [http://www.cs.ru.nl/~rinus/iTaskIntro.html].
+
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 new release of the iTask library we are working on will support:
+
[[File:itasks2-gui.jpg|thumb|The iTask2 GUI]]
* Ajax handling of iTasks
 
* Client side evaluation of iTasks
 
  
With a simple annotation an iTask is evaluated on the client instead of on the server.
+
This latest version features:
To make this possible we run full blown Clean applications in the browser as Java applet, making use of the fast '''Sapl''' interpreter [http://www.st.cs.ru.nl/papers/2007/janj2007-TFP06-EfficientInterpretationOfSAPL.pdf].
+
* A highly declarative API for specification of interactive systems as task compositions.
The system automatically switches between client side and server side evaluation when needed.
+
* 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)
  
For the [[AFP2008|AFP Summerschool 2008]] we made a special Clean release which includes
+
== Installation ==
the new compiler which can generate SAPL code for execution on the client.
+
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 download this release at:
+
== Documentation ==
http://clean.cs.ru.nl/download/Clean22/windows/Clean2.2-iTasks-AFP2008.zip
+
You can find up-to-date documentation via the [https://cloogle.org 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).
 +
 
 +
== Browsers ==
 +
The iTask system supports recent versions of Firefox, Chrome and Edge.
 +
 
 +
== Read more ==
 +
* [[ST_Publications|Papers about iTasks]]
 +
* [[Workflow examples]]
 +
* [[ITasksProjectIdeas| Ideas for projects to improve iTasks]]

Latest revision as of 08:01, 22 September 2022

Itasks-logo.png

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)

Installation

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.

Documentation

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).

Browsers

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

Read more